- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)