queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口
队列容器允许从一端新增元素,从另一端移除元素
队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为
队列中进数据称为 — 入队 push
队列中出数据称为 — 出队 pop
// queue常用接口 /* 构造函数: queue<T> que; //queue采用模板类实现,queue对象的默认构造形式 queue(const queue &que); //拷贝构造函数 赋值操作: queue& operator=(const queue &que); //重载等号操作符 数据存取: push(elem); //往队尾添加元素 pop(); //从队头移除第一个元素 back(); //返回最后一个元素 front(); //返回第一个元素 大小操作: empty(); //判断堆栈是否为空 size(); //返回栈的大小 */ #include <bits/stdc++.h> using namespace std; class person { public: person(string name, int age) { this->name = name; this->age = age; } string name; int age; }; void test01() { queue<person> q; person p1("A", 10); person p2("B", 20); person p3("C", 30); person p4("D", 40); // 入队 q.push(p1); q.push(p2); q.push(p3); q.push(p4); // 队列不为空,查看队头,查看队尾,出队 cout << q.size() << endl; // 4 while (!q.empty()) { cout << q.front().name << " " << q.front().age << endl; cout << q.back().name << " " << q.back().age << endl; q.pop(); } cout << q.size(); // 0 } int main() { test01(); } /* 总结: 入队 — push 出队 — pop 返回队头元素 — front 返回队尾元素 — back 判断队是否为空 — empty 返回队列大小 — size */