Изменения

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

Очередь

280 байт добавлено, 22:54, 12 июня 2014
Нет описания правки
[[Файл: Fifo_new.png|right|150px]]
'''Очередь''' (англ. ''queue'')  {{---}} это структура данных, добавление и удаление элементов в которой происходит путём операций <tex> \mathrm {push} </tex> и <tex> \mathrm {pop} </tex> соответственно. Притом первым из очереди удаляется элемент, который был помещен туда первым, то есть в очереди реализуется принцип «первым вошел — первым вышел» (''first-in, first-out {{---}} FIFO''). У очереди имеется '''голова''' (''head'') и '''хвост''' (''tail''). Когда элемент ставится в очередь, он занимает место в её хвосте. Из очереди всегда выводится элемент, который находится в ее голове.
*<tex> \mathrm {push} </tex> (запись в очередь) {{---}} операция вставки нового элемента.*<tex> \mathrm {pop} </tex> (снятие с очереди) {{---}} операция удаления нового элемента.*<tex> \mathrm {empty} </tex> {{---}} проверка очереди на наличие в ней элементов* <tex> \mathrm {size} </tex> {{---}} операция получения количества элементов в очереди
== Реализация циклической очереди на массиве ==
'''return''' head == tail
Из-за того что нам не нужно перевыделять память, каждая операция выполняется за <tex>O(1)</tex> времени.
 
=== size ===
'''int''' size(s : stack<T>)
'''if''' head > tail
'''return''' n - head + tail
'''else'''
'''return''' tail - head
'''Плюсы:'''
215
правок

Навигация