Классы контейнеров C++<queue>
В стандартной библиотеке C++<queue>Заголовочный файл предоставляет реализацию структуры данных Queue. Очередь — это структура данных First In First Out (FIFO), которая позволяет добавлять элементы с одного конца (называемого хвостом) и удалять элементы с другого конца (называемого головой).
Очередь — это линейная структура данных, которая подчиняется следующим правилам:
- Элементы можно добавлять только в конец очереди.
- Элементы можно удалять только из начала очереди.
Синтаксис
В C++ синтаксис для очереди выглядит следующим образом:
#include <queue> // 声明队列 std::queue<Type> q;
ЗдесьType— это тип данных элементов, хранящихся в очереди.
Общие операции
Очередь предоставляет следующие распространённые операции:
empty(): Проверить, пуста ли очередь.size(): Вернуть количество элементов в очереди.front(): Вернуть ссылку на первый элемент.back(): Вернуть ссылку на последний элемент.push(): Добавить элемент в конец очереди.pop(): Удалить первый элемент.
Пример
Ниже приведён пример использования стандартной библиотеки C++<queue>Простой пример:
Пример
#include <queue>
int main() {
// Создаём очередь целых чисел
std::queue<int> q;
// Добавляем элементы в очередь
q.push(10);
q.push(20);
q.push(30);
// Выводим количество элементов в очереди
std::cout << "Количество элементов в очереди: " << q.size() << std::endl;
// Выводим первый элемент
std::cout << "Передний элемент: " << q.front() << std::endl;
// Выводим последний элемент
std::cout << "Последний элемент: " << q.back() << std::endl;
// Удаляем первый элемент
q.pop();
std::cout << "После удаления первого элемента, первый элемент: " << q.front() << std::endl;
// Снова вывести количество элементов в очереди
std::cout << "Количество элементов в очереди: " << q.size() << std::endl;
return 0;
}
Результат вывода:
队列中的元素数量: 3 队首元素: 10 队尾元素: 30 移除队首元素后,队首元素: 20 队列中的元素数量: 2
C++'s<queue>Стандартная библиотека предоставляет удобный способ реализации структуры данных очередь. Используя очереди, мы можем эффективно управлять коллекциями элементов, которые нужно обрабатывать в определённом порядке. Надеемся, эта статья поможет новичкам лучше понять и использовать очереди в C++.
Примечания
- Очередь не допускает произвольный доступ к элементам, то есть к элементам в очереди нельзя напрямую обращаться по индексу.
- Очереди обычно реализуются с помощью связных списков или динамических массивов, в зависимости от конкретной реализации.