欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

STL之deque

程序员文章站 2022-05-04 11:37:36
deque即数组形式的双端队列。 #include #include #include using namespace std; int main() { //构造 deque d = { 2,6,8 }; //遍历 for (deq ......

deque即数组形式的双端队列。

#include<iostream>
#include<deque>
#include<algorithm>
using namespace std;

int main()
{
    //构造
    deque<int> d = { 2,6,8 };

    //遍历
    for (deque<int>::iterator it = d.begin(); it < d.end(); it++)
        cout << *it;
    cout << endl;
    //输出:268

    //入队
    //从队尾入队
    d.push_back(9);
    //从队首入队
    d.push_front(3);
    for (deque<int>::iterator it = d.begin(); it < d.end(); it++)
        cout << *it;
    cout << endl;
    //输出:32689

    //出队
    //从队首出队,无返回值
    d.pop_front();
    //从队尾出队,无返回值
    d.pop_back();
    for (deque<int>::iterator it = d.begin(); it < d.end(); it++)
        cout << *it;
    cout << endl;
    //输出:268

    //获取元素,与vector相同
    cout << d[0] << endl; //不检查下标是否越界,但速度较快。输出:2
    cout << d.at(2) << endl; //检查下标是否越界。输出:8

    //排序
    sort(d.begin(), d.end(),greater<int>()); //从大到小排序
    for (deque<int>::iterator it = d.begin(); it < d.end(); it++)
        cout << *it;
    cout << endl;
    //输出:862

    return 0;
}