Loading... ## 概念: queue是一种先进先出的数据结构,它有两个出口 队列容器允许从一端新增元素,从另一端移除元素 队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为 队列中进数据称为--入队(push) 队列中出数据称为--出队(pop) ## 生活中的队列: 比如:排队打饭,排队买票之类都属于队列(先进先出·) ## 常用接口 ### 功能描述: 栈容器常用的对外接口 ### 构造函数: queue< int>que; //queue采用模板类实现,queue对象的默认构造形式 queue(const queue &que); //拷贝构造函数 ### 赋值操作: queue& operator = (const queue &que); //重载等号操作符 ### 数据存取: push(elem); //往队尾添加元素 pop(); //从队头移除第一个元素 back(); //返回最后一个元素 front(); //返回第一个元素 ### 大小操作: empty(); //判断堆栈是否为空 size(); //返回栈的大小 ### 示例: ```cpp #include<iostream> #include<queue> #include<string> using namespace std; class Preson { public: Preson(string name, int age) { this->name = name; this->age = age; } public: string name; int age; }; void create(queue<Preson>&q) { Preson p1("韩信", 18); Preson p2("李白", 19); Preson p3("孙悟空", 20); Preson p4("李信", 19); q.push(p1); q.push(p2); q.push(p3); q.push(p4); } void print_queue(queue<Preson>&q) { cout << "队列大小" << q.size() << endl; while (!q.empty()) { cout << "队头为:" << endl << "姓名为:" << q.front().name << "年龄为:" << q.front().age << endl; cout << "队尾为:" << endl << "姓名为:" << q.back().name << "年龄为:" << q.back().age << endl; q.pop(); cout << endl; } cout << "队列大小" << q.size() << endl; } int main() { queue<Preson>q; create(q); print_queue(q); return 0; } ``` 最后修改:2021 年 09 月 20 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果文章有用,请随意打赏。