商城首页欢迎来到中国正版软件门户

您的位置:首页 >C++队列基本操作与API详解

C++队列基本操作与API详解

  发布于2025-12-17 阅读(0)

扫一扫,手机访问

答案:queue是C++中基于deque或list实现的FIFO容器,提供push()入队(O(1))、pop()出队(O(1))操作,并通过front()和back()访问队首、队尾元素。

C++ queue队列的基本操作_C++入队出队与常用的API总结

在C++中,queue(队列)是一种先进先出(FIFO, First In First Out)的容器适配器,常用于需要按顺序处理数据的场景,比如广度优先搜索(BFS)、任务调度等。它定义在 queue 头文件中,底层通常由 dequelist 实现。

入队操作:push()

使用 push() 函数将元素添加到队列的末尾(队尾)。新元素被插入后,会成为下一个将被移出的元素(当所有前面的元素都被弹出后)。

  • 语法:queue.push(value);
  • 时间复杂度:O(1)
  • 示例:
queue q;
q.push(10);
q.push(20);
q.push(30);

此时队列中的元素从队头到队尾为:10 → 20 → 30。

出队操作:pop()

pop() 函数用于移除队列头部的元素(队头),即最早进入队列的那个元素。

  • 语法:queue.pop();
  • 注意:pop() 不返回值,只删除队头元素
  • 时间复杂度:O(1)
  • 示例:
q.pop(); // 移除10
q.pop(); // 移除20

执行两次 pop 后,队列只剩 30。

访问队首与队尾元素

虽然 queue 不支持随机访问,但提供了两个函数来查看特定位置的元素:

  • front():返回队头元素的引用,即可读取最早加入的元素
  • back():返回队尾元素的引用,即可读取最近加入的元素
  • 两者都不删除元素
  • 使用前必须确保队列非空,否则行为未定义
  • 示例:
cout << q.front(); // 输出 10
cout << q.back(); // 输出 30

常用API与状态判断

除了增删查,queue 还提供了一些实用的成员函数来管理状态:

  • empty():判断队列是否为空,返回 bool 值。推荐在 pop 或 front 前调用以避免错误
  • size():返回当前队列中元素个数,返回类型为 size_t

典型安全操作写法:

while (!q.empty()) {
  cout << q.front() << " ";
  q.pop();
}

基本上就这些。掌握 push、pop、front、back、empty 和 size 就能应对大多数使用场景。注意不要对空队列调用 front 或 pop,这是常见错误来源。queue 的设计简洁,适合专注顺序处理逻辑。

本文转载于:互联网 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注