第8章STL模板库案例分析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 STL模板库;提纲;8.1 类模板原理;模板分类;定义一个类模板、声明一个对象;【例8-1】定义一个类类型AnyType,该类有两个数据成员x和y,它们的数据类型可以是int、double或char,编写并测试该类模板。;测试用主函数;运行结果:;模板优缺点;8.2 STL标准模板库简介;STL中的几个基本概念;容器概述;顺序容器简介;关联容器简介;容器适配器简介;图8-1 向量(vector)模板结构示意图 ;表8-2 vector容器常用成员函数;【例8-2】输入若干实数,然后利用模板vector计算这些数据的和及中间值; sort(A.begin(), A.end()); //调用泛型算法 cout向量A的中间值为:A[A.size()/2]endl; cout向量A的元素个数为:A.size()endl; cout向量A的容量为:A.capacity()endl; return 0; } 输出结果: 1 2 3 4 5 6 7 a 向量A的和为:28 向量A的中间值为:4 向量A的元素个数为:7 向量A的容量为:8;;列表(list)容器 ;list 容器;【例8-3】 向列表中添加字符串数据,然后按字母顺序排序并输出结果; for(p=mylist.begin();p!=mylist.end();p++) cout*p ; mylist.sort(); cout endl The sorted list endl; for(p=mylist.begin();p!=mylist.end();p++) cout*p ; coutendl; return 0; } 运行结果: The unsorted list Pear Apple Chocolate Strawberry The sorted list Apple Chocolate Pear Strawberry;list插入函数的使用;*;*;8.4.1 集合(set)容器 ;表8-5 集合set容器常用成员函数;【例8-5】向集合set容器中添加数据,然后排序,并输出结果。 ;;8.4.2 映射(map)容器;【例8-6】利用映射容器,编写一个查字典的程序。 ;#include iostream #include string #include map #include algorithm using namespace std; int main() { mapstring,string mydict; mapstring,string::iterator p; string word; mydict[Sunday]=星期日; mydict[Monday]=星期一; mydict[Tuesday]=星期二; mydict[knowledge]=n. 知识, 学问, 认识.; cout请输入单词:; cinword; p=mydict.find(word); if(p==mydict.end()) cout没找到endl; else cout单词:p-firstendl解释:p-secondendl; return 0; };*;#include iostream #include string #include map using namespace std; int main() { multimapstring,string mydict; multimapstring,string::iterator p; string word; mydict.insert(multimapstring,string::value_type( knowledge,n. 知识, 学问, 认识.)); cout请输入单词:; cinword; p=mydict.find(word); if(p==mydict.end()) cout没找到endl; else cout单词:p-firstendl解释:p-secondendl; return 0; };8.3.3 双端队列(deque)容器 ;8.5 容器适配器:stack;【例8-7】 读入一个整数,利用堆栈stack集合判断该数据是否是回文数。 ;#include iostream #include stack using namespace std; int main (void) { char a[100],b[100]; int i; stackchar x; cout请输入一个整数:; cina; for(i=0;a[i]!=0;i++) x.push(a[i]);

文档评论(0)

1112111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档