C++之Queue容器

简介: C++之Queue容器

一、概念

概念: Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口

二、代码

#include <iostream>
#include <queue>
#include <string>
 
using namespace std;
 
//队列 Queue
class Person {
public:
    Person(string name, int age) {
        this->m_Name = name;
        this->m_Age = age;
    }
 
    string m_Name;
    int m_Age;
};
 
void test01() {
    // 创建队列
    queue<Person> q;
    // 准备数据
    Person p1("ts", 30);
    Person p2("swk", 1000);
    Person p3("zbj", 900);
    Person p4("ss", 800);
    // 入队
    q.push(p1);
    q.push(p2);
    q.push(p3);
    q.push(p4);
    cout << "队列大小:" << q.size() << endl;
    while (!q.empty()) {
        // 查看队头
        cout << "队头元素--姓名:" << q.front().m_Name << " 年龄:" << q.front().m_Age << endl;
        // 查看队尾
        cout << "队尾元素--姓名:" << q.back().m_Name << " 年龄:" << q.back().m_Age << endl;
        // 出队
        q.pop();
    }
    cout << "队列大小:" << q.size() << endl;
}
 
int main() {
    test01();
    system("pause");
    return 0;
}
 
队列大小:4
队头元素--姓名:ts 年龄:30
队尾元素--姓名:ss 年龄:800
队头元素--姓名:swk 年龄:1000
队尾元素--姓名:ss 年龄:800
队头元素--姓名:zbj 年龄:900
队尾元素--姓名:ss 年龄:800
队头元素--姓名:ss 年龄:800
队尾元素--姓名:ss 年龄:800
队列大小:0
相关文章
|
1月前
|
C++ 容器
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树
25 5
|
1月前
|
存储 C++ 索引
|
2月前
|
存储 C++ 容器
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
44 5
|
1月前
|
安全 编译器 容器
C++STL容器和智能指针
C++STL容器和智能指针
|
1月前
|
C++ 容器
C++中自定义结构体或类作为关联容器的键
C++中自定义结构体或类作为关联容器的键
34 0
|
1月前
|
存储 缓存 NoSQL
【C++】哈希容器
【C++】哈希容器
|
1月前
|
C++ 容器
【C++】stack与queue的使用以及模拟实现
【C++】stack与queue的使用以及模拟实现
|
1月前
|
关系型数据库 C++ 容器
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——红黑树
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——红黑树
26 0
|
2月前
|
安全 程序员 C++
C++一分钟之-C++中的并发容器
【7月更文挑战第17天】C++11引入并发容器,如`std::shared_mutex`、`std::atomic`和线程安全的集合,以解决多线程中的数据竞争和死锁。常见问题包括原子操作的误用、锁的不当使用和迭代器失效。避免陷阱的关键在于正确使用原子操作、一致的锁管理以及处理迭代器失效。通过示例展示了如何安全地使用这些工具来提升并发编程的安全性和效率。
35 1
|
2月前
|
设计模式 安全 数据管理
【c++】stack和queue模拟实现
【c++】stack和queue模拟实现
23 1