cpp的stl的队列和栈

来源:互联网 发布:广告智能推送人工智能 编辑:程序博客网 时间:2024/05/18 01:16

cpp的stl的队列和栈

stl的queue和stack除了第二个参数,可以指定采用哪个集合存储数据,其他的看代码即可了解

////  main.cpp//  use_stack_queue////  Created by bikang on 16/11/1.//  Copyright (c) 2016年 bikang. All rights reserved.//#include <iostream>#include <vector>#include <queue>#include <stack>#include <list>using namespace std;void tstack();void tqueue();int main(int argc, const char * argv[]) {    //tstack();    tqueue();    return 0;}void tstack(){    //stack处理    stack<int> ps;    for(int i=0;i<10;++i)ps.push(i);    cout << ps.size() << endl;    cout << ps.top() << endl;    ps.pop();    cout << ps.top() << endl;    //第二个参数表示用什么来存储数据    stack<int, vector<int>> ps2;}void tqueue(){    cout << "test"<<endl;    queue<int,list<int>> q1;    for(int i=0;i<10;++i)q1.push(i);    cout << q1.size() <<endl;    cout << q1.front() << " " << q1.back() << endl;    q1.pop();    cout << q1.front() << " " << q1.back() << endl;    //优先堆    priority_queue<int> p1;    p1.push(31);    p1.push(2);    p1.push(32);    p1.push(18);    cout << p1.size()<< endl;    while (!p1.empty()) {        cout << p1.top()<<",";        p1.pop();    }    cout << endl;    //使用谓词从小到大排序    priority_queue<int,vector<int>,greater<int>> p2;    p2.push(31);    p2.push(2);    p2.push(32);    p2.push(18);    cout << p2.size()<< endl;    while (!p2.empty()) {        cout << p2.top()<<",";        p2.pop();    }    cout << endl;}
0 0