加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 09:15:07 所属栏目:百科 来源:网络整理
导读:一、几种类型 ? ? ?? 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库对象不能作为容器的元素。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读