21xrx.com
2024-11-22 07:49:18 Friday
登录
文章检索 我的文章 写文章
C++如何遍历queue数据结构
2023-06-27 11:11:45 深夜i     --     --
C++ 遍历 queue 数据结构

在C++中,Queue是一种常用的数据结构,通常被用来实现先进先出(FIFO)的队列操作。在实际开发中,我们需要经常遍历Queue来获取队列中的元素。那么,C++中如何遍历Queue数据结构呢?

首先,我们需要了解Queue常用的几个函数。Queue的基本操作有以下几个函数:

1. push:将元素插入队尾;

2. pop:弹出队首元素;

3. front:访问队首元素;

4. back:访问队尾元素;

5. empty:判断队列是否为空;

6. size:获取队列的元素个数。

基于以上函数的操作,我们可以通过以下两种方式来遍历Queue:

1. 使用while循环遍历

可以通过循环,依次弹出队首元素直到队列为空,从而遍历Queue。


#include <queue>

#include <iostream>

using namespace std;

int main()

{

  queue<int> q;

  for (int i = 1; i <= 5; i++) {

    q.push(i);

  }

  // 遍历队列

  while (!q.empty()) {

    cout << q.front() << endl;

    q.pop();

  }

  return 0;

}

上述代码中,我们先创建一个Queue并向其中添加5个元素。接着使用while循环依次弹出队首元素,直到队列为空。

2. 使用for循环遍历

除了使用while循环遍历外,我们还可以通过for循环来遍历Queue,具体做法是使用队列的size()函数获取队列的大小,并用for循环依次访问每个元素。


#include <queue>

#include <iostream>

using namespace std;

int main()

{

  queue<int> q;

  for (int i = 1; i <= 5; i++) {

    q.push(i);

  }

  // 遍历队列

  for (int i = 0; i < q.size(); i++) {

    cout << q.front() << endl;

    q.push(q.front());

    q.pop();

  }

  return 0;

}

上述代码中,我们同样创建一个Queue并向其中添加5个元素。然后使用for循环依次访问每个元素,将队列的第一个元素push一次,使其最后一个输出,然后进行出队操作。

总之,无论是使用while循环还是for循环遍历,需要注意一定要在遍历过程中弹出队列中的元素,否则将出现无限循环的情况。此外,Queue也支持反转队列中的元素,具体可以参考STL中的reverse()函数。

  
  

评论区

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