Это не должно быть вопросом
Ожидание В Очереди Посмотреть “Звездные войны”: 1977–2000
Никто не любит стоять в очереди. Большинство людей терпеть не могут тратить свое время на стояние в очереди. Мы тратим в среднем 6 месяцев нашей взрослой жизни на ожидание своей очереди — почти 3 дня в году. Есть книги об очередях. Документальные фильмы 2. Даже академические эксперты в очередях. Но потом, когда мы кодируем, мы часто забываем использовать очереди
и в конечном итоге вместо этого возитесь со списками /.
Все работает лучше, когда вы используете правильный инструмент.
FIFO или LIFO 1!!!
очередь в супермаркете – это FIFO. То, как мы обычно складываем коробки , – это ЖИЗНЬ. FIFO означает “Первый Вошел, Первый вышел”3. ЖИЗНЬ – это аббревиатура от “Последний вход, первый выход”. Это оно.
Я использовал Я использовал чтобы нарисовать эту диаграмму. Потрясающий инструмент!
При реализации очередей FIFO мы обычно используем методы add
, peek
(возвращает, но не удаляет заголовок очереди) и poll
(возвращает и удаляет заголовок очереди), в то время как мы называем их соответственно push
, peek
и pop
в стеках **LIFO **.
СТЕК, ОЧЕРЕДЬ и ДЕК
В стеке
мы можем добавлять и удалять элементы только с одного конца ( LIFO ), в очереди
мы добавляем элементы на один конец и удаляем их с другого ( FIFO ) и, соединяя эти два мира, мы имеем deque
(он же “Двойная очередь” ), где мы можем добавлять и удалять элементы с обоих концов. Ни один из них не допускает произвольного доступа к элементам.
В JAVA вы должны использовать deque
для моделирования стека
, потому что класс стека считается устаревшим (он расширяет класс Vector и наследует все его методы, что позволяет нарушить принцип LIFO ).
Так что не изобретайте велосипед заново.
Эта статья была первоначально опубликована на Medium
[1] Хорошо, есть некоторые странные |/исключения :facepalm: [2] Всегда есть альтернатива
https://www.youtube.com/watch?v=ZyNz8UHHrxE (по-испански) :подмигивание: [3] Некоторые люди знают это как FCFS (
“Первым пришел, первым обслужен” ) [4] И не забудьте дать Lolmarket шанс. Потрясающий сервис!
Внешние ссылки 👀
Оригинал: “https://dev.to/hector6872/to-queue-or-not-to-queue-4d2a”