经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C++ » 查看文章
C++容器汇编
来源:cnblogs  作者:张杨  时间:2021/6/28 9:42:43  对本文有异议

容器汇编1 比较简单的若干容器

1. string
begin 可以得到对象起始点
end 可以得到对象的结束点
empty 可以得到容器是否为空
size 可以得到容器的大小
swap 可以和另外一个容器交换其内容

2. vector
可以使用中括号的下标来访问其成员(同 string)
可以使用 data 来获得指向其内容的裸指针(同 string)
可以使用 capacity 来获得当前分配的存储空间的大小,以元素数量计(同 string)
可以使用 reserve 来改变所需的存储空间的大小,成功后 capacity() 会改变(同 string)
可以使用 resize 来改变其大小,成功后 size() 会改变(同 string)
可以使用 pop_back 来删除最后一个元素(同 string)
可以使用 push_back 在尾部插入一个元素(同 string)
可以使用 insert 在指定位置前插入一个元素(同 string)
可以使用 erase 在指定位置删除一个元素(同 string)
可以使用 emplace 在指定位置构造一个元素
可以使用 emplace_back 在尾部新构造一个元素

3.deque
双端队列,相较于vector,不仅能在前部插入和删除元素,也可以在尾部插入和删除元素。
deque 的接口和 vector 相比,有如下的区别:
deque 提供 push_front、emplace_front 和 pop_front 成员函数。
deque 不提供 data、capacity 和 reserve 成员函数。

4.list
双向链表
和 vector 相比,它优化了在容器中间的插入和删除:
list 提供高效的、O(1) 复杂度的任意位置的插入和删除操作。
list 不提供使用下标访问其元素。
list 提供 push_front、emplace_front 和 pop_front 成员函数(和 deque 相同)。
list 不提供 data、capacity 和 reserve 成员函数(和 deque 相同)。

5.容器适配器1-queue
一种队列,先进先出的数据结构
queue 缺省用 deque 来实现。它的接口跟 deque 比,有如下改变:
不能按下标访问元素没有 begin、end 成员函数
用 emplace 替代了 emplace_back,
用 push 替代了 push_back,
用 pop 替代了 pop_front;没有其他的 push_…、pop_…、emplace…、insert、erase 函数

6.容器适配器2-stack
stack缺省也是使用deque实现,是一种后进先出的数据结构
它的接口跟 vector 比,有如下改变:
不能按下标访问元素没有 begin、end 成员函数
back 成了 top,没有 front用
emplace 替代了 emplace_back,
用 push 替代了 push_back,
用 pop 替代了 pop_back;没有其他的 push_…、pop_…、emplace…、insert、erase 函数


》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
容器汇编2-需要函数对象的容器
1.容器适配器3 priority_queue
按照优先级对数据成员进行排序,提供了如下的几种方法:
empty()
size()
front()
push_back()
pop_back()

2.关联容器map multimap set multiset
与序列容器相比,关联容器没有前、后的概念及相关的成员函数,但同样提供 insert、emplace 等成员函数。
此外,关联容器都有 find、lower_bound、upper_bound 等查找函数,结果是一个迭代器:
find(k) 可以找到任何一个等价于查找键 k 的元素(!(x < k || k < x))
lower_bound(k) 找到第一个不小于查找键 k 的元素(!(x < k))
upper_bound(k) 找到第一个大于查找键 k 的元素(k < x)

3.无序关联容器unordered_set unordered_multiset unordered_map unordered_multimap
与关联容器相比,无需关联容器没有顺序,不需要提供一个排序函数,但是需要提供一个计算hash值的函数
其插入删除查找性能都是O(1)

 

原文链接:http://www.cnblogs.com/JsonZhangAA/p/14920126.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号