--- title: queue localeTitle: очередь --- ## Очереди `queue` является одним из наиболее используемых контейнеров в C ++. Контейнер представляет собой структуру данных, которая хранит коллекцию объектов, некоторые по порядку, некоторые - нет. Все контейнеры имеют другой набор функций, которые позволяют вам получить доступ к объекту (объектам) в этой коллекции. `std::queue` является частью стандартной библиотеки C ++ (отсюда и префикс `std::` и позволяет хранить данные в порядке First In First Out (FIFO). ПРИМЕЧАНИЕ. **Все объекты в очереди должны иметь один и тот же тип данных** Тип данных, который вы храните в очереди, находится в угловых скобках рядом с ключевым словом очереди. Например, если вы хотите сохранить коллекцию целых чисел, то очередь будет `std::queue queue_name` ### Очередь LIFO Пояснение `queue` позволяет нам нажимать / вставлять в очередь и поп / деактивировать в определенном порядке. **Push** означает вставку объекта в начале очереди. **Pop** означает вытащить «самый старый» объект из конца очереди. Поэтому, когда вы нажимаете его на передний план, и когда вы поп, вы извлекаете самый старый элемент. ![alt text](https://github.com/mohammadaziz313/helloworld/blob/master/Fifo_queue.png "Пример очереди очереди FIFO и Dequeue") ### Операции в очереди Контейнер очереди поддерживает следующие операции: * push (enqueue) * pop (dequeue) * пустой * размер * фронт * назад #### От себя Позволяет вставлять новый элемент в конце очереди после последнего текущего элемента. ```cpp //Push operation in Queue #include // std::cout #include // std::queue int main () { std::queue q; q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue return 0; } ``` #### Фронт Позволяет получить доступ к следующему элементу в очереди, не удаляя его. Следующий элемент - это «самый старый» элемент в очереди. ```cpp //Front operation in Queue #include // std::cout #include // std::queue int main () { std::queue q; q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue std::cout< // std::cout #include // std::queue int main () { std::queue q; q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue std::cout< // std::cout #include // std::queue int main () { std::queue q; q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue std::cout<