deque容器
来源:互联网 发布:自律 知乎 编辑:程序博客网 时间:2024/06/06 01:38
1.deque是一种双向开口的连续线性空间,可以在头尾两端分别做元素的插入和删除操作。
2.deque容器实现原理
deque容器是由一段一段的定量的连续空间构成。一旦有必要在deque前段或者尾端增加新的空间,便配置一段连续定量的空间。串接在deque的头端或者尾端。deque的最大工作就是维护这些分段连续的内存空间的整体性的假象,并提供随机存取的接口,避开了重新配置空间,赋值,释放的轮回,代价就是复杂的迭代器架构。
deque采取一块map(不是map容器)作为主控,map中的每一个元素都是一个指针,指向另一段连续性内存空间,这段连续性空间才是deque的存储空间的主题。
3.deque常用API
3.1deque构造函数
deque<T> deq;默认构造
deque(begin(),end());将[begin(),end())区间中的元素拷贝给本身
deque(n,ele)构造函数将n个ele拷贝给本身
deque(const deque& deq)拷贝构造
3.2deque赋值操作
assign(begin(),end())将[begin(),end())区间中的数据 拷贝赋值给本身
assign(n,ele)将n个ele拷贝赋值给本身
deque& operator=(const deque& deq)重载等号操作符
swap(deq);将deq与本身的元素互换
3.3deque大小操作
deque.size();返回容器中元素的个数
deque.empty();判断容器是否为空
deque.resize(num);;重新指定容器长度num,若容器变长,则以默认值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除
deque.resize(num,elem)重新指定容器的长度为num,若容器变长,则以elem值填充新位置,如果容器变短,则超出容量长度的元素被删除。
3.4deque插入,删除,取值,赋值操作
push_back(ele),尾部插入数据
push_front(ele),头部插入数据
pop_back(),尾部删除
pop_front(),头部删除
at(idx);返回索引idx所指的数据,如果idx越界,抛出异常:out_of_range
operator[];返回idx索引的数据
front();返回第一个数据
back()返回最后一个数据
insert(pos,ele)在pos位置插入一个ele元素的拷贝,返回新数据的位置
insert(pos,n,ele)在pos处插入n个ele数据,无返回值
insert(pos,beg,end)在pos位置插入[begin(),end())区间的数据,无返回值
clear()删除容器内所有数据
erase(beg,end)删除[beg,end)区间的数据,返回下一个数据的位置
erase(pos)删除pos位置的数据,返回下一个数据的位置
- deque容器
- deque容器
- deque容器
- deque容器
- Deque容器
- 容器(三):队列容器Deque
- 容器函数(deque)
- 容器函数(deque)
- (转)STL Deque 容器
- STL容器:deque
- Deque容器的使用方法
- deque容器类型
- 序列容器(deque)
- STL容器之deque
- STL容器之 deque
- deque容器源码
- STL容器:deque
- STL容器之deque
- 转载:ResultMap和ResultType在使用中的区别
- 011-从Git仓库构建Docker镜像
- 转载:解决CentOS7虚拟机无法上网并设置CentOS7虚拟机使用静态IP上网
- mybat
- jQuery的on("change",function{})方法IF_CASE_CONFIRMED.on("change", function() {})
- deque容器
- ionic2热更新插件cordova-hot-code-push-plugin更新下载文件
- mysql数据库列基本的增删查改语句
- apache 的 commons-net-3.3.jar 的 ftp java代码上传下载文件
- Mybatis拦截器实现SQL性能监控
- 简单的PHP二维数组排序方法
- 012-docker的构建上下文
- kafka概述
- 针对不同的屏幕尺寸生成不同的大小