PassFront
  1. PassFront
  2. База знаний
  3. Массивы и структуры данных

Если пришел первым в очередь то каким выйдешь?

Массивы и структуры данных

Если пришёл первым в очередь, то выйдешь первым — очередь работает по принципу FIFO (First In, First Out).

Принцип очереди — FIFO

Очередь (queue) добавляет элементы в конец, а извлекает из начала:

  • Первый добавленный — извлекается первым.
  • Первый вошёл — первый вышел.
const queue = [];
queue.push('A');   // первый пришёл
queue.push('B');
queue.push('C');
queue.shift();     // 'A' — первый вышел первым
queue.shift();     // 'B'
queue.shift();     // 'C'

Аналогия

Очередь в магазине: кто первым встал, того первым обслужат.

Где встречается

  • Очереди задач Event Loop — коллбэки обрабатываются в порядке поступления (FIFO).
  • Очередь задач/заданий (job queue).
  • Обход в ширину (BFS).
  • Буферы, планировщики.
setTimeout(() => console.log('1'), 0); // первый в очереди макрозадач
setTimeout(() => console.log('2'), 0);
// 1, 2 — в порядке добавления (FIFO)

Очередь против стека

  • Очередь (FIFO) — первый вошёл, первый вышел.
  • Стек (LIFO) — первый вошёл, последний вышел.

Коротко для собеседования

Очередь работает по FIFO (First In, First Out): первый пришедший выходит первым. Как очередь в магазине. Так работают очереди задач Event Loop (коллбэки в порядке поступления), BFS, буферы. Противоположность — стек (LIFO, первый вошёл — последний вышел).

Другие вопросы раздела