21xrx.com
2024-12-22 22:28:50 Sunday
登录
文章检索 我的文章 写文章
C++队列[3]
2023-06-27 15:05:11 深夜i     --     --
C++ 队列 FIFO

C++队列是一种非常重要的数据结构,它的特点是先进先出(FIFO),即先进去的元素先出来。队列在计算机科学中广泛应用,例如图像处理、模拟和调度等方面。

C++中的队列是一种容器,通常使用STL(标准模板库)中的queue类来实现。STL提供了一个标准的队列类,可以方便地对队列进行操作。STL队列具有以下几个基本方法:

1. push(): 将元素放入队列的末尾。

2. front(): 查看队列开头的元素,但不会将其删除。

3. pop(): 弹出队列开头的元素。

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

5. size(): 返回队列中元素的数量。

下面是一个使用STL队列的示例代码:


#include <iostream>

#include <queue>

using namespace std;

int main() {

  queue<int> q;

  // 添加元素

  q.push(1);

  q.push(2);

  q.push(3);

  // 打印队列

  cout << "队列中的元素: ";

  while(!q.empty()) {

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

    q.pop();

  }

  return 0;

}

输出结果是:队列中的元素: 1 2 3

队列不仅可以存储基本数据类型,还可以存储自定义类型。例如,我们可以定义一个Person类,然后将其存储到队列中,以便我们可以在不失去其顺序的情况下执行某些操作:


#include <iostream>

#include <queue>

#include <string>

using namespace std;

class Person {

private:

  string name;

  int age;

public:

  Person(string name, int age) : name(name), age(age) {}

  string getName() const return name;

  int getAge() const return age;

};

int main() {

  queue<Person> q;

  // 添加元素

  q.push(Person("张三", 20));

  q.push(Person("李四", 21));

  q.push(Person("王五", 22));

  // 打印队列

  cout << "队列中的元素: ";

  while(!q.empty()) {

    cout << q.front().getName() << " ";

    q.pop();

  }

  return 0;

}

输出结果是:队列中的元素: 张三 李四 王五

总之,C++队列是一种非常有用的数据结构,可以用于多种用途,极大地简化了代码的实现。在实际开发中,开发人员可以在需要的时候使用STL队列类来更高效地实现队列操作。

  
  

评论区

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