C++ STL queue队列,deque双向队列

#include<iostream>
#include<queue>//队列头文件
using namespace std;
int main(){
    int num;    
//队列*************************************
    queue<int > a;
    queue<int > a1;

    
    a.front();//返回队首元素
    a.back();//返回队尾元素
    
    a.push(num);//插入队尾
    a.pop();//弹出队头,无返回值
    
    a.size();//返回元素个数
    a.empty();//判空
    a.swap(a1);//交换(前提是二者类型相同)
    

    for(int i=1;i<=10;i++)a.push(i);
    //遍历
    while(!a.empty()){//非空就继续循环
        cout<<a.front();
        a.pop();    
    }
    
//双向队列*************************************
    //双向队列:    include<deque>这个文件包含于queue头文件中
    
    deque<int > ch;
    deque<int > ch2;
    
    ch.push_front(num);//在队头插入元素
    ch.push_back(num);//在队尾插入元素
    
    ch.pop_front();//弹出队头元素
    ch.pop_back();//弹出队尾元素,无返回值
    
    ch.front();//返回队头元素
    ch.back();//返回队尾元素
    
    
    ch.size();//元素个数
    ch.empty();//判空
    ch.swap(ch2);//交换
    ch[1];//ch[i]获取第i个元素,队头是第0个
    ch.at(1);//同上,差别细微
    ch.clear();
    
    ch.begin();ch.end();//双向队列就可以用迭代器啦
    
    for(int i=1;i<=10;i++)ch.push_back(i);
    //遍历
    for(int i=1;i<=10;i++)cout<<ch[i]<<endl;
    
    deque<int >::iterator it;
    for(it=ch.begin();it!=ch.end();it++)cout<<*it<<endl;
    
    
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Cat_ind/article/details/129700512