STL12-queue容器
生活随笔
收集整理的這篇文章主要介紹了
STL12-queue容器
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
queue容器 隊(duì)列容器 先進(jìn)先出
隊(duì)列只能在一端插入 一端刪除
隊(duì)列不能遍歷 不提供迭代器 不支持隨機(jī)訪問(wèn)
#if 1 #include<iostream> #include<queue> using namespace std; void test01() {queue<int> q; //創(chuàng)建隊(duì)列queue<int> q2(q);q.push(10);q.push(20);q.push(30);q.push(40);cout << "隊(duì)尾:"<<q.back() << endl;cout << "隊(duì)頭:"<<q.front() << endl;while (!q.empty()) {cout << q.front() << endl;q.pop(); //刪除隊(duì)頭} } //作業(yè)1 queue容器存放對(duì)象指針 //作業(yè)2 queue容器存放stack容器 int main() {test01();return 0; } #endif作業(yè):
#if 1 #include<iostream> #include<queue> #include<stack> using namespace std; class Person { public:Person(int Age, int Id) :age(Age), id(Id) {} public:int age;int id; }; //作業(yè)1 queue容器存放對(duì)象指針 void test01() {queue<Person*> q;Person p1 = { 23,1 };Person p2 = { 24,2 };Person p3 = { 25,3 };q.push(&p1);q.push(&p2);q.push(&p3);while (q.size() > 0) {Person *p = q.front();cout << (*p).age << " " << (*p).id << endl;q.pop();}} //作業(yè)2 queue容器存放stack容器 void test02() {stack<Person> sp1;Person p1 = { 23,1 };Person p2 = { 24,2 };Person p3 = { 25,3 };sp1.push(p1);sp1.push(p2);sp1.push(p3);stack<Person> sp2 = sp1;queue<stack<Person>> q;q.push(sp1);q.push(sp2);cout << "queue中stack數(shù)為:" << q.size() << endl;while (!q.empty()) {stack<Person> s=q.front();cout << "stack數(shù)據(jù)內(nèi)容為:" << endl;while (!s.empty()) {Person p = s.top();s.pop();cout << p.age << " " << p.id << endl;}q.pop();} }int main() {cout << "test01:queue容器存放對(duì)象指針" << endl;test01();cout << "test02:queue容器存放stack容器" << endl;test02();return 0; } #endif總結(jié)
以上是生活随笔為你收集整理的STL12-queue容器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 表格在首行,添加空行
- 下一篇: 递归题型解析