• deque 用法


    引用博客:https://blog.csdn.net/zyq522376829/article/details/46801973

    下面是那位大佬写的的笔记整理~~~~


    deque - 双向队列

    1.构造

    无参构造:

    deque<T> a;  //<>内自定义数据类型;

    带参构造:

    deque(beg,end); //构造函数将[beg, end)区间中的元素拷贝给本身。注意该区间是左闭右开的区间。
    deque(n,elem); //构造函数将n个elem拷贝给本身。
    deque(const deque &deq); //拷贝构造函数。

    2.头部&尾部的添加和删除

    deque.push_back(elem); //在容器尾部添加一个数据
    deque.push_front(elem); //在容器头部插入一个数据
    deque.pop_back(); //删除容器最后一个数据
    deque.pop_front(); //删除容器第一个数据

    3.中间数据存取

    deque.at(idx); //返回索引idx所指的数据,如果idx越界,抛出out_of_range。
    deque[idx]; //返回索引idx所指的数据,如果idx越界,不抛出异常,直接出错。
    deque.front(); //返回第一个数据。
    deque.back(); //返回最后一个数据

    4.元素插入

    deque.insert(pos,elem); //在pos位置插入一个elem元素的拷贝,返回新数据的位置。
    deque.insert(pos,n,elem); //在pos位置插入n个elem数据,无返回值。
    deque.insert(pos,beg,end); //在pos位置插入[beg,end)区间的数据,无返回值。

    5.数据删除

    deque.clear(); //移除容器的所有数据
    deque.erase(beg,end); //删除[beg,end)区间的数据,返回下一个数据的位置。
    deque.erase(pos); //删除pos位置的数据,返回下一个数据的位置。

    6.迭代指针

    deque.begin(); //返回容器中第一个元素的迭代器。
    deque.end(); //返回容器中最后一个元素之后的迭代器。
    deque.rbegin(); //返回容器中倒数第一个元素的迭代器。
    deque.rend(); //返回容器中倒数最后一个元素之后的迭代器。

    7.赋值&拷贝

    deque.assign(beg,end); //将[beg, end)区间中的数据拷贝赋值给本身。注意该区间是左闭右开的区间。
    deque.assign(n,elem); //将n个elem拷贝赋值给本身。
    deque& operator=(const deque &deq); //重载等号操作符 
    deque.swap(deq); // 将vec与本身的元素互换

    8.大小&判断非空

    deque.size(); //返回容器中元素的个数
    deque.empty(); //判断容器是否为空
    deque.resize(num); //重新指定容器的长度为num,若容器变长,则以默认值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除。
    deque.resize(num, elem); //重新指定容器的长度为num,若容器变长,则以elem值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除。
  • 相关阅读:
    触摸屏多媒体查询展示自主设计系统开发过程
    hashtable数据循环读取的顺序问题
    vs2010英文版打包中文框架出错的解决办法
    Silverlight游戏开发初探(上篇)
    PB之——编码规范
    时间相加 ,使用SQL完成
    PB(POWERBUILDER) 基础介绍
    PB之——流程控制
    PB之——基本数据类型
    PB [Grid风格数据窗口改变线条颜色] 的变通实现方法(也可以成为 带表头的Grid数据窗口)
  • 原文地址:https://www.cnblogs.com/liubilan/p/9461141.html
Copyright © 2020-2023  润新知