- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
容器、迭代器
容器的迭代器还有几种: ?? + iterator:正常迭代器(常用) ?? + reverse_iterator:反向迭代器(有时也用) - rbegin(),rend()//返回反向迭代器 ?? + const_iterator:常量迭代器 ?? + const_reverse_iterator:
C++代码iterator?find(数据){ ??
????for(?从beg;!=end;it?++) ??
????????if(*it==数据) ??
????????????return?it; ??
????return?end;//未找到,返回无效迭代器 ??
}//查询 ??
*it?=?new_data;//更新迭代器??
iterator find(数据){
for( 从beg;!=end;it ++)
if(*it==数据)
return it;
return end;//未找到,返回无效迭代器
}//查询
*it = new_data;//更新迭代器
-------------------------------- 所有的容器在插入数据时会自动加长,程序员不必关心空间问题. 容器的分类: ? + (sequence) - vector - list - deque 序列式容器共性 构造函数:constructor(int n);constructor(int n,T val) 调整大小:resize(int n),resize(int n,T val)一般用来加长,不一定能缩短 赋值:assign(n,val),放入n个相同的值 ???? assign(区间(beg--end),val),把指定区间的内容放入容器 插入:insert(pos/*迭代器*/,n,val),insert(pos,区间) 毛插:push_back(val);//在末尾插入新数据 取得首尾元素:front(),back() 尾删:pop_back();//删除尾部元素 ----------------------------------- 序列式容器不同点 vector 类似于数组,也支持[],不做越界检查,但更安全;能自动增长. vector.at(下标);//如果越界会throw异常,返回的是引用 vector.reserve(n)//保留空间(没必要用) vector.capacity()//目前容量(没必要用),用size() vector只适合在末尾插入和删除数据 vector的查找效率高而list低 list对于频繁的插入与删除做了优化. 凡是标准库抛出的异常都可以用exception类来catch
C++代码 ?
//vector例子 ??
#include?iostream ??
using?namespace?std; ??
#include?vector ??
??
int?main() ??
{ ??
????????vectorint?vi; ??
????????cout??Input?scores,end?by?-1:; ??
????????int?s; ??
????????int?m=0; ??
????????for(;;){ ??
????????????????cin??s; ??
????????????????if(s==-1)?break; ??
????????????????vi.push_back(s); ??
????????????????if(sm) ??
????????????????????????m?=?s; ??
????????} ??
????????int?inc?=?100-m; ??
????????for(int?i=0;?ivi.size();?i++) ??
????????????????vi[i]?+=?inc; ??
????????for(int?i=0;?ivi.size();?i++) ??
????????????????cout??vi[i]???; ??
????????cout??endl; ??
????????try{ ??
????????cout??vi[1000]=??vi[1000]??endl; ??
????????cout??vi.at(1000)=??vi.at(1000)??endl; ??
????????}catch(exception?e){ ??
????????????????cout??e.what()??endl; ??
????????} ??
}??
//vector例子
#include iostream
u
您可能关注的文档
最近下载
- 玉米保护性耕作水肥一体种植技术规程.pdf VIP
- DB2203_T 6-2023 玉米秸杆覆盖条耕滴灌水肥一体化技术规程.pdf VIP
- J16J156 被动式低能起居住建筑节能构造.docx VIP
- 车辆租赁服务项目实施方案及保证措施.docx VIP
- ISO1940-1机械振动-恒定(刚性)状态下转子的平衡质量要求第1部分:平衡公差的规定和验证.pdf VIP
- J10J123 住宅厨房卫生间ZDA防火型排气道.docx VIP
- J12Z605 混凝土排水管道基础与接口.docx VIP
- J14J141 聚苯暖砖现浇混凝土填芯墙体构造.docx VIP
- J14J144 WG建筑刚性防水与混凝土抗震构造.docx VIP
- 肿瘤患者的饮食指导.ppt VIP
文档评论(0)