当前位置 : 主页 > 编程语言 > c++ >

顺序容器(定义)--C++复习(8)

来源:互联网 收集:自由互联 发布时间:2021-06-23
一、几种类型 1.vector,支持快速随机访问,类似数组,通过下标方式来访问,但是对中间的插入或删除访问效率比较低; 2.list,双向链表,一个是数据项,一个是链表项,支持快速插入

一、几种类型

       1.vector,支持快速随机访问,类似数组,通过下标方式来访问,但是对中间的插入或删除访问效率比较低;

       2.list,双向链表,一个是数据项,一个是链表项,支持快速插入或删除,因为不需要移动位置,只需要修改它里边的一个指针、一个地址就可以;

       3.deque,双端队列,在两端插入或删除速度比较快,也支持随机访问,但是中间的插入或删除访问效率比较低。

二、顺序容器的适配器(在原有类的基础上给它添加更多的功能,把它适配成另外的一种特性)

       1.stack,栈,后进先出

       2.queue,队列,先进先出

       3.priority_queue,优先级队列,按优先级先后来排列

三、顺序容器的初始化       

 1 #include<vector>
 2 #include<list>
 3 #include<deque>
 4 
 5 //1.初始化一个空容器
 6 vecctor<int> v;
 7 vector<Person>v1;//Person是一个类名
 8 
 9 list<string>l;
10 deque<Person>de;
11 
12 //2.创建另外一个容器的副本
13 vector<int>v1(v);
14 list<string>l1(l);
15 deque<Person>de1(de);
16 
17 //3.使用迭代器来初始化
18 vector<int>v2(v.begin(),v.end());
19 vector<int>::iterator mid=v.begin()+2;
20 list<string>l2(v.begin(),mid);
21 
22 //4.初始化指定数目的元素
23 const list<int>::size_type list_size=64;
24 list<string>slist(list_size,"hello");//slist里边保存了64个hello
25 vector<ine>vec(10);//10,元素默认为0

四、容器内元素的约束

       1.元素类型必须支持赋值运算,引用类型不支持赋值运算,所以引用类型不能作为容器的元素;

       2.元素类型必须可以复制,IO库类型不支持复制,所以IO库对象不能作为容器的元素。

网友评论