21xrx.com
2024-12-22 19:16:01 Sunday
登录
文章检索 我的文章 写文章
C++中的队列(queue)
2023-07-13 22:09:24 深夜i     --     --
C++ 队列 数据结构 FIFO enqueue dequeue

队列是计算机科学中常用的数据结构之一,C++中也提供了队列(queue)的实现。队列是一种先进先出的数据结构,简称FIFO(First In, First Out)。它可以用来模拟排队等待的场景,比如CPU处理进程时的队列,打印机打印文件时的队列等等。

C++中的队列类定义在头文件queue中,使用队列需要先将该头文件包含进来。队列的定义语法为:


std::queue<数据类型> 队列名称;

其中,数据类型可以是任何C++中的基本数据类型,如int, float, char等,也可以是用户自定义的数据类型。队列名称可以根据个人喜好进行命名,但建议起句话意义明确的名称,便于阅读和理解。

队列类中的主要方法有:

1. push() - 在队列末尾添加一个元素

2. pop() - 弹出队列头部的元素

3. front() - 返回队列头部的元素

4. empty() - 判断队列是否为空

5. size() - 获取队列元素的个数

下面是一个基本的队列样例,可以更好地理解队列的使用方法:


#include <iostream>

#include <queue>

using namespace std;

int main() {

  queue<int> myQueue; // 创建一个空队列

  myQueue.push(10); // 向队列中插入元素10

  myQueue.push(20); // 向队列中插入元素20

  myQueue.push(30); // 向队列中插入元素30

  cout << "队列的第一个元素:" << myQueue.front() << endl; // 输出队列的第一个元素

  myQueue.pop(); // 弹出队列的第一个元素

  cout << "弹出第一个元素后,队列的第一个元素:" << myQueue.front() << endl; // 输出弹出后的第一个元素

  cout << "队列的元素个数:" << myQueue.size() << endl; // 输出队列的元素个数

  if(myQueue.empty())

    cout << "队列为空" << endl;

   else

    cout << "队列不为空" << endl;

  

  return 0;

}

在上面的样例中,创建了一个空队列,使用push()方法向队列中插入元素,使用front()方法获取队列的第一个元素,使用pop()方法弹出队列的第一个元素。size()方法则用来获取队列元素的个数,empty()方法则判断队列是否为空。

总的来说,队列是一种非常常用的数据结构,在C++中使用队列虽然比较简单,但是应用广泛,建议读者练习熟练掌握。

  
  

评论区

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