Изменения

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

Очередь

9 байт добавлено, 00:49, 14 марта 2012
м
Нет описания правки
=== push ===
push(x)
elements[tail] = x tail = (tail + 1) % elements.length size++
=== pop ===
pop()
if (!empty()) then x = elements[head] head = (head + 1) % elements.length size-- return x
=== empty ===
empty()
return size == 0
Каждая операция выполняется в течение времени <tex>O(1)</tex>.
empty()
return size == 0
[[Файл: Queue.png|thumb|right|230px]]
Каждая операция выполняется в течение времени <tex>O(1)</tex>.
== Реализация на двух стеках ==
[[Файл: Queue.png|thumb|right|260px]]
Очередь можно реализовать на двух [[Стек|стеках]] <tex>leftStack</tex> и <tex>rightStack</tex>. Один из стеков <tex>(leftStack)</tex> будем использовать для операции <tex>push</tex>, другой для операции <tex>pop</tex>.
338
правок

Навигация