Loading AI tools
З Вікіпедії, вільної енциклопедії
Черга (англ. queue) — динамічна структура даних в програмуванні, що працює за принципом «перший прийшов — перший пішов» (англ. FIFO — first in, first out). У черги є голова (англ. head) та хвіст (англ. tail). Елемент, що додається до черги, опиняється в її хвості. Елемент, що видаляється з черги, знаходиться в її голові.
Така черга повністю аналогічна звичній «базарній» черзі, у якій спочатку обслуговують того, хто прийшов першим, потім наступного і так далі.
Черга може бути реалізована за допомогою масиву Q[1...n], в якому зберігаються дані та двох додаткових змінних head[Q] та tail[Q], в яких зберігаються індекси відповідно "голови" та "хвоста" черги, length[Q] -- довжина черги.
Тоді операції enqueue та dequeue запишуться так:
ENQUEUE (Q, x)
1 Q[tail[Q]] := x
2 if tail[Q] = length[Q]
3 then tail[Q] := 1
4 else tail[Q] := tail[Q] + 1
DEQUEUE (Q)
1 x := Q[head[Q]]
2 if head[Q] = length[Q]
3 then head[Q] := 1
4 else head[Q] := head[Q] + 1
5 return x
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.