Изменения

Перейти к: навигация, поиск

Очередь

35 байт добавлено, 02:02, 11 июня 2014
pop
pushLeft(x)
=== pop ===
'''function''' pop(): '''if''' !rigthStack.empty() '''return''' popRight() '''else''' '''while''' !leftStack.empty() pushRight(popLeft()) '''return''' popRight()
При выполнении операции <tex>push</tex> будем использовать три монеты: одну для самой операции, вторую в качестве резерва на операцию <tex>pop</tex> из первого стека, третью во второй стек на финальный <tex>pop</tex>. Тогда для операций <tex>pop</tex> учётную стоимость можно принять равной нулю и использовать для операции монеты, оставшиеся после операции <tex>push</tex>.
215
правок

Навигация