Очереди в примере C ++ | Стандартная библиотека шаблонов C ++

Очереди в примере C ++ | Стандартная библиотека шаблонов C ++ — это тема сегодняшнего дня. Очереди — это абстрактная структура данных, которая следует алгоритму FIFO, т.е. элемент данных, помещенный первым в очередь, будет доступен первым. Очереди открыты с обоих концов, в отличие от стеков, которые открыты только с одного конца.

Очереди в C ++

Очереди — это тип адаптера контейнера, специально разработанного для работы в контексте FIFO (first-in-first-out), где элементы вставляются в один конец контейнера и извлекаются из другого контейнера.

Очереди реализованы как адаптеры контейнеров, которые представляют собой классы, которые используют инкапсулированный объект определенного класса контейнера в качестве своего базового контейнера, предоставляя определенный набор функций-членов для доступа к его элементам. Элементы помещаются в «заднюю часть» конкретного контейнера и выталкиваются из его «передней части».

Мы можем создать очередь на C ++ со следующим синтаксисом.

 queue  queue_name 

Например, queue queue1;

Также важно добавить файл заголовка #include

Элементы в очереди вставляются в задний конец и удаляются из внешнего интерфейса.

В STL существует множество функций, поддерживаемых очередями, некоторые из них перечислены ниже.

Очередь поддерживает следующие функции.

#empty ()

Пустая функция используется для проверки, пуста ли очередь или нет .

Синтаксис:

 queue_name.empty () 

Функция empty () возвращает истина, если очередь пуста, или ложь, если список не пуст.

Примечание: в emp не передан параметр функция ty. Если мы передадим какой-либо параметр, отобразится ошибка.

#size ()

Используется функция size () чтобы узнать размер очереди.

Синтаксис:

 queue_name.size () 

Функция size () возвращает количество элементов, присутствующих в очереди.

Примечание. В функции размера не передан параметр. Если мы передадим какой-либо параметр, отобразится ошибка.

#swap ()

Используется функция swap () чтобы поменять местами элементы двух разных очередей одного типа.

Синтаксис:

 queue_name1.swap (queue_name2) 

Нет возвращаемого значения, операция меняет местами элементы queue_name1 на queue_name2.

Примечание: очень важно иметь очереди одинаковая длина очередей может быть переменной.

#emplace ()

Функция Emplace используется для вставки нового элемент в очереди.

Синтаксис:

 queue_name.emplace (value) 

Value параметр содержит значение элемента, который мы хотим добавить в очередь.

Элемент добавляется в конец очереди.

Примечание. Важно, чтобы параметр значения тот же тип элементов уже присутствует в очереди.

#front ()

Функция front используется для доступа к самый старый элемент, присутствующий в очереди, или элемент во внешнем интерфейсе. По мере того, как очереди следуют, сначала приходит первым, следовательно, он обращается к первому элементу.

Синтаксис:

 queue_name.front () 

Нет параметра спереди функция.

Примечание. Если очередь пуста, передняя функция показывает неопределенное поведение.

#back ()

Функция возврата используется для извлечения первого элемента из задней части последней вставки в очередь.

Синтаксис

queue_name.back()

В функции back отсутствует параметр.

Примечание. Если очередь пуста, передняя функция показывает неопределенное поведение.

#push ()

Функция push () используется для вставки элемента в очередь из серверной части.

Синтаксис:

 queue_name.push (value) 

Параметр в функции push — это значение, которое мы хотим поместить в очередь.

Примечание. Важно иметь значение того же типа, что и в уже существующие элементы.

#pop ()

Функция pop используется для удаления элемента из queue.

Синтаксис:

 queue.name.pop () 

Удаляет самый старый элемент, присутствующий в очереди переднего элемента очереди.

Примечание: он покажет ошибку, если параметр передан в функции pop.

# Примеры очередей в STL

Напишите программу для вставки трех элементов в очередь с помощью функции emplace и проверьте, пусто или нет. Распечатайте строку, чтобы показать, пуста ли очередь или нет.

 #include  #include  using namespace std; int main () {queue  queue1;  queue1.emplace (1);  queue1.emplace (2);  queue1.emplace (3);  if (queue1.empty ()) {cout  

См. следующий результат.

Пример2: Напишите программу для добавления пяти элементов в очередь с помощью функции push и удаления одного элемента с помощью функции pop и печати очередь после этого.

 #include  #include  using namespace std; int main () {queue  queue2;  queue2.push (0);  queue2.push (1);  queue2.push (2);  queue2.push (3);  queue2.push (4); //в очереди есть элемент 0,1,2,3,4 queue2.pop (); //после вставки одного элемента очередь становится 0,1,2,3//Печать элементов очереди cout  

См. следующий вывод.

Пример 3: Напишите программу для печати размера очереди, переднего элемента очереди и заднего элемента очереди.

 #include  #  включить  с использованием пространства имен std;  int main () {очередь  queue3;  queue3.push (0);  queue3.push (1);  queue3.push (2); queue3.push (3); queue3.push (4); cout  

См. следующий результат.

Пример 4: Создайте две очереди, добавьте элементы в обе очереди, поменяйте их местами и распечатайте замененные очереди.

 #include  #include  с использованием пространства имен std; int main () {queue  queue2;  queue  queue1;  queue1.push (0);  queue1.push (1);  queue1.push (2);  queue1.push (3);  queue1.push (4);  queue2.push (5);  queue2.push (6);  queue2.push (7);  queue2.push (8);  queue2.push (9);  queue1.swap (queue2); //Замена cout  

См. результат.

Наконец, очереди в C ++. Пример | Стандартная библиотека шаблонов C ++ завершена.

Оцените статью
nanomode.ru
Добавить комментарий