Черга – одна з найпоширеніших структур даних у програмуванні. Концепція черги заснована на принципі "першим прийшов – першим вийшов", що означає, що елементи додаються до кінця черги і витягуються з початку. Іншими словами, перший елемент, який був доданий до черги, буде першим елементом, який буде видалено.
Чергу можна уявити собі, як одну із звичайних черг, у яких люди стоять у черзі в порядку приходу та догляду. Елементи, які приходять першими, поміщаються на початок черги, а елементи, які приходять пізніше, додаються до кінця черги. Коли служба готова обслужити когось, вона бере першу особу з початку черги.
Черга застосовується у багатьох галузях програмування, наприклад, у багатьох алгоритмах і структурах даних, керувати потоками інформації чи завданнями. Подібно до справжньої черги, черга в програмуванні також може мати обмеження на кількість елементів, які в ній можуть знаходитися одночасно, що називається ємністю.
Принцип | Опис |
---|---|
Останнім прийшов – першим обслужений | Елементи додаються до кінця черги і витягуються з початку черги. Це означає, що елемент, який надійшов останнім, буде обслужений першим. |
Фіксований розмір | Черга має обмеження на кількість елементів, які можуть бути додані до неї. При досягненні максимального розміру черги нові елементи не можуть бути додані. |
Двостороння черга | Елементи можуть бути додані як на початок, так і в кінець черги.Вилучення елементів може відбуватися як з початку, так і з кінця черги. |
Операції додавання та видалення | Для роботи з чергою існують дві основні операції: додавання елемента до черги та видалення елемента з черги. |
Як працює черга у Java?
Черги в Java працюють за двома принципами: FIFO та LIFO. FIFO – First In First Out, принцип звичайної черги (звичайно, якщо немає тих, кому потрібно "тільки запитати"), в якому перший елемент потрапляє в чергу і першим виходить з неї.
Який із методів змінює чергу?
Методи remove() та poll() видаляють верхівку черги та повертають її. Який елемент буде видалено (перший чи останній) залежить від реалізації черги. Методи remove() і poll() відрізняються лише поведінкою, коли черга порожня: метод remove() генерує виняток, а метод poll() повертає null.
Як працює Queue?
Черга (англ. queue) – це структура даних, додавання та видалення елементів у якій відбувається шляхом операцій та відповідно. Притому першим із черги видаляється елемент, який був поміщений туди першим, тобто в черзі реалізується принцип «першим увійшов — першим вийшов» (англ. first-in, first-out — FIFO).