- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 适配器的初始化 stackint stk; // 空对象 stackint stk2(deq); //用参数容器的副本初始化栈 stackstring,vectorstring str_stk; // empty stack implemented on top of vector stackstring, vectorstring str_stk2(svec); //str_stk2 is implemented on top of vector and holds a copy of svec 栈适配器举例——栈支持的操作 int main(){ const stackint::size_type stk_size=10; stackint intStack; int ix=0; while(intStack.size()!= stk_size) intStack.push(ix++); int error_cnt = 0; while(intStack.empty()==false){ int value=intStack.top(); if(value!= --ix){ cerroops!expected ix received valueendl; ++error_cnt; }else coutvalue ; intStack.pop(); } coutOur program ran with error_cnt errors!endl; } 9 8 7 6 5 4 3 2 1 0 Our program ran with 0 errors! 关联容器 pair类型 简单标准库类型,在utility头文件中定义 关联容器:通过键key存储和读取元素 map类型 适合存储每个键所关联的值 例如:字典,单词本身是键,它的解释说明是值 set类型: 存储不同值的集合 例如:做文本处理时,用set保存要忽略的单词 pair类型提供的操作 pairT1,T2 p1 创建一个空的pair对象,两个元素分别是T1和T2类型,采用初始化值 pairT1,T2 p1(v1,v2) 其中first成员初始化为v1,second成员初始化为v2 make_pair(v1,v2) 以v1和v2值创建一个新的pair对象 p1p2 两个pair对象之间的小于运算,遵循字典次序 p1==p2 若两个pair对象的first和second成员依次相等,则两对象相等 p.first 返回p中名为first的(公有)数据成员 p.second 返回p中名为second的(公有)数据成员 关联容器 关联容器操作 关联容器共享大部分顺序容器的操作 但不提供front ,push_front ,pop_front , back , push_back , pop_back操作 关联容器特点 关联容器根据键排列元素 即在迭代遍历关联容器时,确保按键的顺序访问元素,而与元素在容器中存放位置完全无关。 map类型——键值对集合 map定义的类型 mapK,V::key_type 用作索引的键的类型 mapK,V::mapped_type 键所关联的值的类型 mapK,V:: value_type 一个pair类型,它的first元素具有const mapK,V::key_type类型,而second元素则为mapK,V::mapped_type类型 程序举例:“单词转换”map对象 问题:给出一个string对象,把它转换为另一个string对象 程序输入:两个文件,第一个文件是单词转换集合,第二个文件提供了需要转换的文本 程序举例 如果单词转换内容为: ‘am them cuz because gratz grateful i I nah no pos supposed sez said tanx thanks wuz was 要转换的文本是 nah i sez tanx cuz i wuz pos to not cuz i wuz gratz 程序产生的输出结果 no I said thanks because I was supposed to not because I was grateful 单词转换程序 解决方案:将单词转换文件的内容存储在一个map容器中,将被替换的单词作为键,而用作替换的单词作为相应的值。接着读取
文档评论(0)