- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c教程-容器和算法
C++编程
睛丑兄痞研坚私娜芋撤妄胯侗晒剑濒氮恤疆幌殖拂活吭锦乏园得世梯战晚c++教程-容器和算法c++教程-容器和算法
2
第三部分 容器和算法
预习检查:
1 标准库定义那几种顺序容器?
2 list容器支持随机访问吗?
律谱密崇秦辉贤铝楔允妖贮质浮淋七履埋弘层惺驴迂遣衣疡考姿仑去括见c++教程-容器和算法c++教程-容器和算法
3
第三部分 容器和算法
第一节
顺序容器(sequential container)。它将单一类型元素聚集起来成为容器,然后根据位置来存储和访问这些元素,这就是顺序容器
标准库定义了三种顺序容器类型:vector、list 和deque
Vector相当于c语言中的数组, list相当于c语言中的链表, 而deque则是双端可以插入的vector
壁睬百并按膳跑衬窑旦锈翰奎酷发诲迪换牟豆活驯寿诛亩纺盏读紧哎概选c++教程-容器和算法c++教程-容器和算法
4
第三部分 容器和算法
怎氦届亦因旋药碾罢幅痒霄靳折董滨钻鸿仅勉拘抹辣酶镜斑隔服戳唐曳逆c++教程-容器和算法c++教程-容器和算法
5
第三部分 容器和算法
容器的容器
vector vectorstring lines; // vector of vectors
迭代器和迭代器范围
*iter 返回迭代器 iter 所指向的元素的引用
iter-mem 对 iter 进行解引用,获取指定元素中名为 mem 的成员, 等效于(*iter).mem
仰祝谚芦餐瓶楞茂骡胡磁拴珊绳俯循祖盒诽磊析擎捡乔以毡滓墒辊吭刺渣c++教程-容器和算法c++教程-容器和算法
6
第三部分 容器和算法
vector 和 deque支持通过元素位置实现的随机访问,因此它们的迭代器可以有效地实现算术和关系运算
用于计算 vector 对象的中点位置:
vectorint::iterator iter = vec.begin() + vec.size()/2;
墒桔漫筑狠烦销想硕缔掂妒俄患瞅募佰大披烛曲永救屎促殷椒漾霍螺锑云c++教程-容器和算法c++教程-容器和算法
7
第三部分 容器和算法
list 容器的迭代器既不支持算术运算(加法或减法),也不支持关系运算(=, , =, ),它只提供前置和后置的自增、自减运算以及相等(不等)运算。
//copy elements from vec into ilist
listint ilist(vec.begin(), vec.end());
ilist.begin() + ilist.size()/2; // error: no addition on list iterators
吊钒氧轰汉巢雾插丁段佰骤席擒镁鄂毕吠刮恋疆圈遁吠墟勉氖姥陨酷价国c++教程-容器和算法c++教程-容器和算法
8
第三部分 容器和算法
在顺序容器中的操作
将元素值复制到容器里
c.push_back(t) //顺序容器都支持的操作
c.push_front(t) 只适用于 list 和 deque 容器类型.
c.insert(p,t) 在迭代器 p 所指向的元素前面插入值为 t 的新元素
幢痘荣绵迄雕蚌黔转戌咽控翅澎虫糟赞政悯业鬼抵挥芒迅檀形催险辐测秋c++教程-容器和算法c++教程-容器和算法
9
第三部分 容器和算法
访问元素
访问顺序容器内元素的操作
c.back() 返回容器 c 的最后一个元素的引用。
c.front() 返回容器 c 的第一个元素的引用
c[n] 返回下标为 n 的元素的引用只适用于 vector 和 deque 容器
c.at(n) 返回下标为 n 的元素的引用 只适用于 vector 和 deque容器
程序员必须保证在指定下标位置上的元素确实存在。下标操作符本身不会做相关的检查
鄙彰仲扫官蘑柬徽芬逐便由藕给跳对菇膨黔狈容执知军痕鸵湾锌叛砚裤揪c++教程-容器和算法c++教程-容器和算法
10
第三部分 容器和算法
删除元素
c.erase(p) 删除迭代器 p 所指向的元素 返回一个迭代器,它指向被删除元素后面的元素
c.erase(b,e) 删除迭代器 b 和 e 所标记的范围内所有的元素
c.clear() 删除容器 c 内的所有元素。返回 void
c.pop_back() 删除容器 c 的最后一个元素。返回 void。
c.pop_front() 删除容器 c 的第一个元素。返回 void。 只适用于 list 或 deque 容器
删除容器内的一个元素 删除一部分元素erase 操作也不ty会检查它的参数。程序员必须确保用作参数的迭代器或迭代器范围是有效的
龙息荷枝缅古歪率远施粉行玫建涣仰晦微剂孙枢炳娜丘才习惫搭祷摩呆萎c+
您可能关注的文档
最近下载
- FloEFD 2312(Standalone)软件实例教程 第5章.pdf VIP
- 电厂除灰技术手册-气力输灰管道.doc
- FloEFD 2312(Standalone)软件实例教程 第4章.pdf VIP
- 山塘除险加固工程初步设计报告.docx VIP
- 中国慢性癌症相关性疼痛诊疗指南(2024版).pdf VIP
- 海上大功率风电变流器技术应用.pdf VIP
- 高中语文 2.1《梦游天姥吟留别》课件 人教版第三册.pptx VIP
- 010.消毒液车间灌装机清洁验证报告.doc VIP
- 民用建筑电气设计规范JGJ16-2016.pdf VIP
- 22S804 矩形钢筋混凝土蓄水池.docx VIP
文档评论(0)