В этом простом и коротком блоге мы узнаем, как реализовать одну из самых распространенных и полезных структур данных в программировании — Очередь.
ЧТО ТАКОЕ ОЧЕРЕДЬ И ДЛЯ ЧЕГО ОНА ИСПОЛЬЗУЕТСЯ?
Таким образом, очередь — это структура данных, которая хранит данные в порядке поступления, что означает, что первый элемент на переднем плане выталкивается первым точно так же, как очередь в кассе. где первый человек в очереди первым выписывается и уходит
Очереди, как и любая другая структура данных, используются для эффективного хранения данных и максимально быстрого их извлечения.
ОПЕРАЦИИ С ОЧЕРЕДЬЮ
Очередь используется для выполнения операций над данными, которые она хранит, поэтому с помощью очереди мы можем
- Enqueue — добавление элементов в начало очереди
- Dequeue — удаление элементов из конца (задней) очереди
- Peek — проверить первый элемент очереди
- Проверить, пуста ли очередь
- Проверьте, заполнена ли очередь
Теперь с JS мы собираемся реализовать некоторые из этих функций, и мы будем использовать очень знакомый пример списка воспроизведения песен 🎵
ИСПОЛЬЗОВАНИЕ JAVASCRIPT ДЛЯ РЕАЛИЗАЦИИ ОЧЕРЕДИ
Таким образом, судя по характеру и функциональности очереди, как показано ранее в блоге, самое близкое, что у нас есть к очереди или любой линейной структуре данных, такой как стек, — это массивы.
Итак, план очень прост, все, что нам нужно, это выполнить четыре операции.
Enqueue()
добавить в начало очередиDequeue()
удалить из конца очередиPeek()
возвращает нам первый элемент, не удаляя егоisEmpty()
проверяет, пуста ли очередь в данный момент
Давайте сначала объявим класс и реализуем эти методы
Как показано во фрагменте, мы инициализируем пустой массив сразу после создания экземпляра класса и называем его contents
.
Enqueue()
Мы используем типичный метод push()
, чтобы поместить элемент в конец массива.
Dequeue()
Как правило, чтобы извлечь элемент из массива, мы используем метод pop()
, который удаляет последний элемент массива и возвращает его, но в нашем случае нам нужно удалить первый элемент очереди, поэтому мы используем метод shift()
, который возвращает первый элемент. элемент массива
Peek()
Это довольно просто, мы возвращаем элемент с индексом 0, который является первым элементом, не удаляя его.
isEmpty()
Этот просто проверяет, равно ли свойство length
массива нулю, и возвращает либо true, либо false.
ПРОВЕРКА НАШЕЙ ОЧЕРЕДИ
Теперь, когда мы создали класс, представляющий очередь, давайте попробуем и посмотрим, работает ли все как задумано.
Вот так у нас есть полностью работающая линейная очередь с базовыми функциями одной 🎉
Для ленивых умников ниже приведен полный код 😅
Большое спасибо за чтение, и я надеюсь, что сегодня вы узнали кое-что новое ♥️