Очередь: различия между версиями
Материал из Algocode wiki
Глеб (обсуждение | вклад) |
м |
||
Строка 1: | Строка 1: | ||
− | Очередь | + | Очередь — это структура данных, которая тоже хранит упорядоченные элементы с такими операциями за $O(1)$: |
− | * <code>push(x)</code> | + | * <code>push(x)</code> — положить элемент в конец очереди |
− | * <code>pop()</code> | + | * <code>pop()</code> — вынуть и вернуть элемент из начала очереди |
− | Выполняется принцип FIFO (First In - First Out) | + | Выполняется принцип FIFO (First In - First Out) — кто первый пришел, тот первый и ушел. Очередь удобно использовать для моделирования реальных очередей, ведь они позволяют честно распределить что-то — кто первый пришел, тот первый и получил. Также очередь часто используют для алгоритмов с несколькими независимыми процессами — удобно хранить очередь задач, которые нужно выполнить, и процесс, когда освобождается, берет из очереди самую раннюю добавленную задачу и берется ее выполнять. |
− | В с++ | + | В с++ — <code>queue<T> queue_name</code> |
{{Автор|Глеб Лобанов|glebodin}} | {{Автор|Глеб Лобанов|glebodin}} |
Текущая версия на 17:11, 23 октября 2019
Очередь — это структура данных, которая тоже хранит упорядоченные элементы с такими операциями за $O(1)$:
push(x)
— положить элемент в конец очередиpop()
— вынуть и вернуть элемент из начала очереди
Выполняется принцип FIFO (First In - First Out) — кто первый пришел, тот первый и ушел. Очередь удобно использовать для моделирования реальных очередей, ведь они позволяют честно распределить что-то — кто первый пришел, тот первый и получил. Также очередь часто используют для алгоритмов с несколькими независимыми процессами — удобно хранить очередь задач, которые нужно выполнить, и процесс, когда освобождается, берет из очереди самую раннюю добавленную задачу и берется ее выполнять.
В с++ — queue<T> queue_name
Автор конспекта: Глеб Лобанов
По всем вопросам пишите в telegram @glebodin