第9章 顺序容器

来源:互联网 发布:负心多是读书人知乎 编辑:程序博客网 时间:2024/05/03 14:57

顺序容器:将单一类型的元素聚集起来成为容器,然后根据位置来存储和访问这些元素。元素排列次序与元素值无关,由元素添加到容器的顺序决定。分为三种类型,vector、list、deque(双端队列)

vector:支持快速随机访问

list:快速插入、删除

deque:双端队列

顺序容器适配器

stack:后进先出栈LIFO

queue:先进先出队列FIFO

priority_queue:有优先级管理的队列、

9.1顺序容器的定义

所需包含的头文件 #include<vector>、<list>、<deque>所有容器都是类模板。

9.1.1容器元素的初始化

容器的构造函数

C<T> c;创建一个名为c的空容器。C是容器类型名,如vector,T是元素类型 如 int。适用于所有容器

C<T> c(c2) ; 创建容器c2的副本c,c、c2必须具有相同的容器类型,存放相同类型的元素,适用于所有容器

C<T> c(b,e); 创建c,其元素是迭代器b和e标示的范围内元素的副本,适用于所有容器

C<T> c(n,t); 用n个值为t的元素创建c,其中t为容器c的元素类型的值,或是可转换为该类型的值,适用于顺序容器

C<T> c(n);创建有n个值初始化的容器c,适用于顺序容器

通过迭代器将要复制的元素转换为所构建的新容器的元素类型,(不要钱容器类型相同,元素类型可不相同,只需相互兼容),即可实现复制。迭代器(指针类型)标记了要复制元素的范围,list<string> slist(svec.begin(),svec.end());第一个元素提供起始位置,第二个为终止位置(不包括第二个指针所指向的元素)





0 0