(7.9)--7.9 顺序容器之vector和deque面向对象程序设计.ppt

上传人:奉*** 文档编号:96638526 上传时间:2024-02-01 格式:PPT 页数:8 大小:242.97KB
返回 下载 相关 举报
(7.9)--7.9 顺序容器之vector和deque面向对象程序设计.ppt_第1页
第1页 / 共8页
(7.9)--7.9 顺序容器之vector和deque面向对象程序设计.ppt_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《(7.9)--7.9 顺序容器之vector和deque面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《(7.9)--7.9 顺序容器之vector和deque面向对象程序设计.ppt(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 顺序容器之顺序容器之vector和和deque在此输入您的封面副标题STL顺序容器概述顺序容器有以下三种:可变长动态数组 vector(向量容器)双端队列 deque 双向链表 list它们之所以被称为顺序容器,是因为元素在容器中的位置同元素的值无关,即容器不是排序的。将元素插入容器时,指定在什么位置(尾部、头部或中间某处)插入,元素就会位于什么位置。容器都是类模板。它们实例化后就成为容器类。用容器类定义的对象称为容器对象。例如:vector v;/vector是类模板,vector是其实例化得到的类,v是vector类的对象,其中所有元素都是double型的顺序容器的成员函数int siz

2、e():返回容器对象中元素的个数。bool empty():判断容器对象是否为空。begin():返回指向容器中第一个元素的迭代器。end():返回指向容器中最后一个元素后面的位置的迭代器。rbegin():返回指向容器中最后一个元素的反向迭代器。rend():返回指向容器中第一个元素前面的位置的反向迭代器。erase(.):从容器中删除一个或几个元素。clear():从容器中删除所有元素。front():返回容器中第一个元素的引用。back():返回容器中最后一个元素的引用。push_back():在容器末尾增加新元素。pop_back():删除容器末尾的元素。insert(.):插入一个或

3、多个元素。vector头文件:可变长度的动态数组。元素在内存中连续存放。随机存取任何元素都能在常数时间内完成。在尾端增删元素具有较佳的时间性能(大部分情况下是在常数时间完成)。除尾端外的其余位置增删元素需要在O(n)时间内完成。可以像使用数组一样通过“”运算符引用向量中的元素,通过“=”运算符为向量设置元素值a1a2aiai+1ane插入完成v.size()nn+1v插入位置为第i个元素之前vector举例#include#include using namespace std;template void PrintVector(const vector&v)/用于输出vector容器的全部元

4、素的函数模板 typename vector:const_iterator i;for(i=v.begin();i!=v.end();+i)cout *i ;cout endl;int main()int a5=1,2,3,4,5;vector v(a,a+5);cout v.end()-v.begin()endl;PrintVector(v);v.insert(v.begin()+2,13);PrintVector(v);v.erase(v.begin()+2);PrintVector(v);vector v2(4,100);v2.insert(v2.begin(),v.begin()+1,

5、v.begin()+3);PrintVector(v2);v.erase(v.begin()+1,v.begin()+3);PrintVector(v);return 0;程序运行结果:5 1 2 3 4 51 2 13 3 4 5 1 2 3 4 52 3 100 100 100 100 1 4 5 dequedeque 也是顺序容器的一种,是双端队列。要使用 deque,需要包含头文件。所有适用于 vector 的操作都适用于 deque。deque 和 vector 有很多类似的地方。在 deque 中,随机存取任何元素都能在常数时间内完成(但慢于vector)。它相比于 vector

6、的优点是,vector 在头部删除或添加元素的速度很慢,在尾部添加元素的性能较好,而 deque 在头尾增删元素都具有较好的性能(大多数情况下都能在常数时间内完成)。它有两种 vector 没有的成员函数:void push_front(const T&val);/将 val 插入容器的头部void pop_front();/删除容器头部的元素#include#include#include /包含双端队列容器头文件#include/包含算法头文件using namespace std;int main()deque values;/声明一个双精度型deque序列容器 ostream_iter

7、ator output(cout,);values.push_front(2.2);/应用函数push_front在deque容器开头插入元素 values.push_front(3.5);values.push_back(1.1);/应用函数push_back在deque容器结尾插入元素 for(int i=0;i values.size();+i)cout values i ;coutendl;values.pop_front();/应用函数push_front从deque容器中删除第一个元素 copy(values.begin(),values.end(),output);coutendl;values 1 =5.4;/应用操作符来重新赋值 copy(values.begin(),values.end(),output);return 0;程序运行结果:3.5 2.21.1 2.21.1 2.25.4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁