Если пришел первым в очередь то каким выйдешь?
Массивы и структуры данных
Если пришёл первым в очередь, то выйдешь первым — очередь работает по принципу 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, первый вошёл — последний вышел).