📜  标准模板库(STL)中的队列(1)

📅  最后修改于: 2023-12-03 14:55:37.983000             🧑  作者: Mango

标准模板库(STL)中的队列

队列(Queue)是一种 FIFO (先进先出) 数据结构,可以通过 STL 中的 Queue 模板实现. STL 中的 Queue 是一个容器适配器(Container Adapter),用于将任何一种容器类型适配为队列形式. 目前,STL 中 Queue 的底层默认实现是一个 deque (双向队列).

Queue 的操作

以下是 Queue 支持的操作:

  • push(): 向队列尾添加元素
  • pop(): 从队列头删除元素
  • front(): 返回队头元素
  • back(): 返回队尾元素
  • empty(): 返回队列是否为空
  • size(): 返回队列的大小
Queue 的实现
#include <iostream>
#include <queue>

using namespace std;

int main() {
    queue<int> q;

    q.push(5); 
    q.push(4);
    q.push(3);
    q.push(2);
    q.push(1);

    cout << "队列头: " << q.front() << endl; 
    cout << "队列尾: " << q.back() << endl;
    cout << "队列大小: " << q.size() << endl;

    // 依次出队列
    while (!q.empty()) {
        cout << q.front() << " ";
        q.pop();
    }
    cout << endl;

    return 0;
}

以上代码展示了如何使用 STL 中的 Queue. 首先,创建一个名为 q 的 Queue 对象,并通过 push() 函数将 5 个元素依次加入队列,然后通过 front()、back() 和 size() 函数来访问队头元素、队尾元素和队列的大小.

接下来,通过 while 循环和 empty() 和 pop() 函数来遍历并删除队列中的元素,最后将结果输出.

总结

STL 中的 Queue 模板提供了一种简单而高效的方式来实现队列. 它封装了实现队列所需的所有细节,并提供了一组常用的操作. 如果需要实现队列,可以考虑使用 STL 中的 Queue.