Queue в STL

Queue в STL

В этой статье речь пойдет о таком контейнере STL как Queue. Или очередь, если по-русски. Название говорит само за себя. Это контейнер выполняет те же самые функции, что и очередь в обычной жизни. А именно:

  • Добавляет элементы в конец очереди( push() )
  • Удаляет элементы из начала очереди( pop() )
  • Узнает значение последнего элемента( back() )
  • Узнает значение первого элемента( front() )
  • Узнает количество элементов в очереди( size() )
  • Проверяет очередь на пустоту( empty() )

Чтобы работать с очередью нужно подключить соответствующую библиотеку:

#include <queue>

Объявление очереди происходит следующим образом:

queue <int> q;

Рассмотрим каждую функцию поподробнее.

push(). Добавляет элементы в конец очереди. Представьте себе очередь в магазине. Когда вы приходите и встаете в конец очереди с вами как будто делают push().

q.push(1);
q.push(2);
q.push(3);
// в очереди будет три элемента: 1 2 3. В начале очереди стоит 1, а в конце 3

pop(). Удаляет элементы из начала. То же самое, если вы совершили покупку и выходите из очереди.

q.push(7);
q.push(3);
q.push(8);
q.pop(); // удалили элемент 7
q.pop(); // удалил элемент 3
// в очереди остался элемент 8

back(); Узнаем последний элемент. Все равно, что вы стоите в очереди а к вам подходят и узнают ваше имя.

q.push(15);
q.push(9);
int a = q.back(); // a = 9

front(); Делает то же самое что и back() только с первым в очереди элементом.

q.push(18);
q.push(4);
int a = q.front();// a = 18

size(). Показывает кол-во элементов в очереди:

q.push(1); q.push(2); q.push(3); int a = q.size(); // a = 3

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

q.push(1);
bool b = q.empty(); // b = false;
q.pop();
bool b = q.empty();// b = true;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *