c++ STL deque容器成员函数
deque是双向队列,即可以在头部插入删除,也可以在尾部插入删除。内部并不连续,这一点和vector并不一样。可能第1个元素和第2个元素的地址是不连在一起的。在使用时用it迭代器会安全一点。
这是c++ 98标准的,不是c++11的。11标准新加的函数没在这里说明。里面大部分函数是经过测试的才得出的结论。
函数(下面将iterator简化为it) |
描述 |
Void c.assign(it beg,it end) |
将拷贝[beg; end)区间中的数据用覆盖式地赋值给c。第2个参数是不包含元素的。 这两个函数均会将原来的容器清空再赋值。Iterator是c相同的容器类型。 |
it c.at(int idx) |
传回索引idx所指的数据,idx从0开始,如果idx越界,抛出out_of_range。 |
reference c.back() |
传回最后一个数据,不检查这个数据是否存在。只传不删。注意返回值与begin不同。 |
it c.begin() |
传回迭代器中的第一个数据地址。返回的是第1个数据的地址,即iterator型。 |
Void c.clear() |
移除容器中所有数据,被清空了,再访问里面的数据会出错。 |
Void c.empty() |
判断容器是否为空。返回值为bool型。若空则返true,若非空返false。 |
it c.end() |
指向迭代器中的最后一个数据的下一个数据的地址,该地址是没有元素的,与begin搭配的。若容器为空,返回与begin同样地址。 |
It c.erase(it pos) |
删除pos位置的数据,传回下一个数据的位置。 |
Reference c.front() |
传回容器中第一个数据,不检查这个数据是否存在。只传不删。 |
c.get_allocator() |
使用构造函数返回一个拷贝。//此函数暂不知道怎么用,windows下不太一样。原型allocator_type get_allocator() const; |
It c.insert(it pos,元素类型 elem) |
在pos位置插入一个elem元素拷贝,传回新数据位置。逻辑上pos处的元素就往后移了。 |
Int c.max_size() |
返回容器中可容纳多少个元素。不同类型的deque,可容纳数量不同。 |
Void c.pop_back() |
删除最后一个数据。 |
Void c.pop_front() |
删除头部数据。 |
Void c.push_back(元素类型 elem) |
在尾部加入一个数据。 |
Void c.push_front(元素类型 elem) |
在头部插入一个数据。 |
It c.rbegin() |
传回一个逆向队列的第一个数据的地址。使用这两个可以逆向输出。 |
It c.rend() |
传回一个逆向队列的最后一个数据的下一个位置的地址。 |
Void c.resize(int num,可选的默认值) |
重新指定队列的元素数量为num个。2种情况:1.若num比存在的元素个数要少,则删除尾部的元素以调整个数。2.若num比实际存在的元素要多,则在实际元素之后填充默认值以调整个数。(第2个元素为可选,若没有则默认为该类型的默认值) |
Int c.size() |
返回容器中目前存放了多少个元素。(这个和max_size不同) |
Void c1.swap(deuqe c2) |
将c1和c2中的元素互换,c1和c2都是同一类型的deque。 |
deque<Elem> c |
创建一个空的deque。Elem可以为int、char等等很多种类型。 |
转载于:https://www.cnblogs.com/xcw0754/p/4263488.html
c++ STL deque容器成员函数相关推荐
- 深入研究 C++中的 STL Deque 容器
本文档深入分析了std::deque,并提供了一个指导思想:当考虑到内存分配和执行性能的时候,使用std::deque要比std::vector好. 介绍 本文深入地研究了std::deque 容器. ...
- C++ STL deque 容器底层实现原理(深度剖析)
事实上,STL 中每个容器的特性,和它底层的实现机制密切相关,deque 自然也不例外.<C++ STL deque容器>一节中提到,deque 容器擅长在序列的头部和尾部添加或删除元素. ...
- C++ 常用容器成员函数用法总结
C++ 常用容器成员函数用法总结 C++ 常用容器成员函数用法总结 简介 迭代器 简介 array: 静态数组 简介 构造函数 访问 / 赋值 迭代器 下标 / at 批量赋值 swap (交换函数) ...
- STL Deque 容器
STL Deque 容器 Deque简介 deque是"double-ended queue"的缩写,和vector一样都是STL的容器,deque是双 端的,而vector是单端 ...
- C++ STL deque容器添加和删除元素方法完全攻略
deque 容器中,无论是添加元素还是删除元素,都只能借助 deque 模板类提供的成员函数.表 1 中罗列的是所有和添加或删除容器内元素相关的 deque 模板类中的成员函数. 表 1 和添加或删除 ...
- STL( deque容器 )
3.3 deque容器 3.3.1 deque容器基本概念 Vector容器是单向开口的连续内存空间,deque则是一种双向开口的连续线性空间.所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删 ...
- STL各容器成员对比表
来源:http://www.cplusplus.com 一转:http://www.cnblogs.com/fangyukuan/archive/2010/09/21/1832675.html 标准S ...
- [C++STL]deque容器用法介绍
代码如下: #include <iostream> #include <string> #include <deque> using namespace std;v ...
- C++ STL list的成员函数splice的使用
#include <iostream> #include <list> #include <algorithm> //使用函数for_each using name ...
最新文章
- k-means优化 k-means距离的选择 k-medoids对比
- python dict根据value找对应的key_一个不得不了解的Python库——collections
- 全球最权威人脸识别测试,中国团队依图科技夺得第一
- python3.7代码转python2.7_Python3.7与Python2.7在centos7下兼容并存
- linux查看帮助信息,命令帮助信息的获取
- 网页中使用的特殊字体(webdings, wingdings 2)
- hercules z/OS 安装 RPG 编译器
- clion连接mysql,使用 CLion 调试 mysql 源码
- 2021年6月程序员薪资出炉,平均薪资15302元
- 内蒙古煤炭经济杂志社内蒙古煤炭经济编辑部2022年第14期目录
- localhost无法访问的问题
- 基于COMS技术,COMS工艺等,CMOS到底是个啥?
- Ubuntu 16.04 源码编译安装 uhd gnuradio
- 人工智能的核心技术是什么?
- 机房迁移测试时需要注意事项
- Map中可以作为Key的类型
- goroutine和GPM调度
- Java Dependence Analysis(Java静态依赖分析)
- 新西兰 working holiday visa
- 水经注有哪些单款地图下载器授权?