Стеки и очереди в JavaScript
Так получилось, что я только недавно узнал о стеках и очередях. Точнее, раньше я знал, что они существуют, и думал, что это одно и то же. Сначала я узнал о том, что стек — не очередь, затем я узнал о реализации стека с помощью “push” и “pop”. А потом я захотел таких же простых методов, но для реализации очереди на JavaScript.
Итак…
Стек в JavaScript
Стек (англ. stack — стопка) — структура данных, представляющая из себя список элементов организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»). Чаще всего принцип работы стека сравнивают со стопкой тарелок: чтобы взять вторую сверху, нужно снять верхнюю.
Реализация стека в JavaScript
Очередь в JavaScript
Очередь — структура данных с дисциплиной доступа к элементам «первый пришёл — первый вышел» (FIFO, First In — First Out). Добавление элемента (принято обозначать словом enqueue — поставить в очередь) возможно лишь в конец очереди, выборка — только из начала очереди (что принято называть словом dequeue — убрать из очереди), при этом выбранный элемент из очереди удаляется.
Реализация очереди в JavaScript
Так же очередь в javascript можно организовать с помощью unshift
и pop
,
получиться точно так же, только последний элемент окажется в начале, а первый
в конце, что немного не привычно.
Похожие статьи:
-
Анализ покрытия JavaScript-кода тестами
Вместе с нашими друзьями: Mocha, JSCoverage, Coveralls и Travis
-
Паттерн «объект-представление»
7 паттернов для рефакторинга JavaScript-приложений
-
Паттерн «объект-запрос»
7 паттернов для рефакторинга JavaScript-приложений
-
ASI и мистические знаки перед IIFE в JavaScript
Сжигаем ведьм, например
-
Паттерн «объект-форма»
7 паттернов для рефакторинга JavaScript-приложений
-
Паттерн «объект-сервис»
7 паттернов для рефакторинга JavaScript-приложений
-
Паттерн «объект-значение»
7 паттернов для рефакторинга JavaScript-приложений