C++程序设计教程 第3版资源-孟威 刘慧宁10.ppt

C++程序设计教程 第3版资源-孟威 刘慧宁10.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计教程第3版资源-孟威刘慧宁10

int main (){ stack int nStack1; //整型栈 for(int i=0;i=9;i++){ nStack1.push(i); //用push()入栈 coutnStack1.top() ;//用top()显示当前栈顶元素 cout ; couti=iendl; } ? //求栈中元素数目 coutthe size of nStack1=nStack1.size()endl; //用top()显示栈顶元素,用pop()出栈 while( !nStack1.empty() ){ coutnStack1.top() ; nStack1.pop(); } coutendl; system(“pause”); return 0; } (续) 程序运行结果: 0 i=0 1 i=1 2 i=2 3 i=3 4 i=4 5 i=5 6 i=6 7 i=7 8 i=8 9 i=9 the size of nStack1=10 9 8 7 6 5 4 3 2 1 0 集合与映射是两种主要的非线性容器,这里主要通过集合来学习STL中非线性容器的用法。 运算:子集、交集、差集,通过includes、setintersection、 setdifference等函数实现的。 template class InIt1,class InIt2, class OutIt OutIt setdifference(InIt1 first1,InIt1 last1,InIt2 first2, InIt2 last2, OutIt x); 该函数模板将集合InIt1中从first1到last1中的元素与集合InIt2中从first2到last2中的元素进行比较,将属于InIt1但不属于InIt2的元素形成一个序列,由x指示 (本例中将符合条件的元素用inserter函数插入到新的集合中)。 template class InIt1,class InIt2, class OutIt OutIt setintersection(InIt1 first1,InIt1 last1,InIt2 first2, InIt2 last2, OutIt x); 该函数模板用法与setdifference相同,求两个集合的交集。 template class InIt1,class InIt2 bool includes(InIt1 first1, InIt1 last1, InIt2 first2, InIt2 last2); 该函数模板求InIt2所指示的集合范围(first2,last2)是否是InIt1所指示的集合范围(first1,last1)的子集。 10.3.7集合与映射 整型集合应用举例 #pragma warning (disable : 4786) //防止一个编译警告的出现 #include iostream #include set #include iterator #include algorithm using namespace std; ? int main () { set int set1 ,setDiff,setInter; //定义整型集合 //定义针对集合setint类型的迭代器 set int ::iterator begin,end; ? //得到集合类型对象中的数据 for(int i=1;i=10;i++) set1.insert(i); ? //用一个集合对象初始化另一个集合对象 set int set2(set1), set3(set2); 例 10-14 //对set2的集合类型对象增加数据 for(i=1;i=5;i++) { set2.insert(i+10); } ? //求两个集合的差和交 set_difference(set2.begin(),set2.end(),set1.begin(),set1.end(), inserter(setDiff,setDiff.begin())); ? set_intersection(set1.begin(),set1.end(),set2.begin(),set2.end(), inserter(setInter,setInter.begin())); //使用迭代器输出set1集合元素 begin=set1.begin(); end=set1.end();

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档