holyya.com
2025-09-04 11:13:09 Thursday
登录
文章检索 我的文章 写文章
C++ 队列
2023-07-04 20:02:29 深夜i     --     --
C++语言 数据结构 队列操作 先进先出 队列实现方式

C++ 队列是一种基于先进先出(FIFO)原则的线性数据结构。它与栈相似,但是队列只允许在队列的前端(一般称作队列头部)执行删除操作,而在队列的后端(一般称作队列尾部)执行插入操作。

在 C++ 语言中,队列是通过头文件 中的 std::queue 类来实现的。std::queue 模板类的定义如下:

template > class queue;

其中,T 是队列中元素的数据类型,Container 是一个可以提供 push_back()、front() 和pop_front() 方法的容器类,默认使用 std::deque 作为容器。

在 C++ 中,队列的操作主要有以下几种:

1. push():用于在队列的尾部插入一个元素,其函数原型为 void push(const T& val)。

2. pop():用于删除队列头部的元素,其函数原型为 void pop()。

3. front():用于获取队列头部的元素,其函数原型为 const T& front() const。

4. back():用于获取队列尾部的元素,其函数原型为 const T& back() const。

5. empty():用于判断队列是否为空,其函数原型为 bool empty() const。

6. size():用于获取队列中元素的个数,其函数原型为 size_t size() const。

下面是一个简单的示例程序,演示了如何使用 C++ 队列:


#include <iostream>

#include <queue>

using namespace std;

int main() {

  queue<int> q;

  // 插入元素

  q.push(1);

  q.push(2);

  q.push(3);

  // 获取头部元素并输出

  int front = q.front();

  cout << "Queue front: " << front << endl;

  // 删除头部元素

  q.pop();

  // 获取新的头部元素并输出

  front = q.front();

  cout << "New queue front: " << front << endl;

  // 获取队列中元素的个数并输出

  int size = q.size();

  cout << "Queue size: " << size << endl;

  // 判断队列是否为空并输出

  bool empty = q.empty();

  cout << "Queue empty: " << empty << endl;

  return 0;

}

运行结果:


Queue front: 1

New queue front: 2

Queue size: 2

Queue empty: 0

总的来说,C++ 队列是一种常用的数据结构,它具有方便实用、易于理解等优点,在实际开发中应用广泛。掌握了队列的使用方法,对于提高代码编写效率和开发效率都有很大帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复