顺序容器(定义)--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库对象不能作为容器的元素。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |