Рубрики

Очередь в стандартной библиотеке шаблонов (STL)

Очереди являются типом контейнерных адаптеров, которые работают по схеме «первым пришел — первым обслужен» (FIFO). Элементы вставляются сзади (конец) и удаляются спереди.

Функции, поддерживаемые очередью:

  1. empty () — Возвращает, пуста ли очередь.
  2. size () — возвращает размер очереди.
  3. queue :: swap () в C ++ STL : обмениваться содержимым двух очередей, но очереди должны быть одного типа, хотя размеры могут отличаться.
  4. queue :: emplace () в C ++ STL : вставить новый элемент в контейнер очереди, новый элемент добавляется в конец очереди.
  5. Функция queue :: front () и queue :: back () в C ++ STLfront () возвращает ссылку на первый элемент очереди. Функция back () возвращает ссылку на последний элемент очереди.
  6. push (g) и pop () — функция push () добавляет элемент «g» в конец очереди. Функция pop () удаляет первый элемент очереди.

// код CPP для иллюстрации
// Очередь в стандартной библиотеке шаблонов (STL)
#include <iostream>
#include <queue>

  

using namespace std;

  

void showq(queue <int> gq)

{

    queue <int> g = gq;

    while (!g.empty())

    {

        cout << '\t' << g.front();

        g.pop();

    }

    cout << '\n';

}

  

int main()

{

    queue <int> gquiz;

    gquiz.push(10);

    gquiz.push(20);

    gquiz.push(30);

  

    cout << "The queue gquiz is : ";

    showq(gquiz);

  

    cout << "\ngquiz.size() : " << gquiz.size();

    cout << "\ngquiz.front() : " << gquiz.front();

    cout << "\ngquiz.back() : " << gquiz.back();

  

    cout << "\ngquiz.pop() : ";

    gquiz.pop();

    showq(gquiz);

  

    return 0;

}

Выход:

The queue gquiz is :     10    20    30

gquiz.size() : 3
gquiz.front() : 10
gquiz.back() : 30
gquiz.pop() :     20    30

Последние статьи по C ++ Queue

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Очередь в стандартной библиотеке шаблонов (STL)

0.00 (0%) 0 votes