PROG_WAY_BLOG Telegram 142
​​Основные структуры данных: Очередь

Очередь — это структура данных, которая подчиняется принципу 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



tgoop.com/prog_way_blog/142
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? bank east asia october 20 kowloon To delete a channel with over 1,000 subscribers, you need to contact user support The Channel name and bio must be no more than 255 characters long 6How to manage your Telegram channel?
from us


Telegram progway — программирование, IT
FROM American