tgoop.com/prog_way_blog/142
Create:
Last Update:
Last Update:
Основные структуры данных: Очередь
Очередь — это структура данных, которая подчиняется принципу FIFO, что расшифровывается как «First In First Out», то есть первым будет доступен тот элемент, который положен в очередь первым.
Бытовой пример очереди примитивен. Очередь в данных — это сама честная очередь, например, из больницы, где первым в кабинет врача попадёт тот, кто и пришёл первым, пока остальные ждут. Все мы конечно знаем что такое очереди в больницах, но почему бы не помечтать?
Так же как и для стека, в JavaScript очередь может быть реализована через нативные методы массива: push
и shift
. Первый добавляет элемент в конец, а второй из начала удаляет и возвращает. Выглядеть это будет примерно так:
const queue = []
queue.push(1)
queue.push(2)
queue.shift() // 1
queue.shift() // 2
queue.shift() // undefined
Но чтобы всё работало нормально, нельзя к массиву применять никакие другие методы. Ну или необходимо написать свою обёртку:
class Queue {
constructor() {
this.queue = []
}
enqueue(value) {
this.queue.push(value)
}
dequeue() {
return this.queue.shift()
}
}
const queue = new Queue()
queue.enqueue(1)
queue.enqueue(2)
queue.dequeue() // 1
queue.dequeue() // 2
queue.dequeue() // undefined
enqueue
— вставить элемент в очередьdequeue
— удалить элемент из очереди и получить егоТаким образом мы полностью ограничили использование других методов над очередью.
Также напомню, что ранее в канале уже рассматривалась такая структура данных как стек.
Спасибо за прочтение, это правда важно для меня ❤️
#theory #data
BY progway — программирование, IT

Share with your friend now:
tgoop.com/prog_way_blog/142