网站大量收购独家精品文档,联系QQ:2885784924

程序设计实第二十一讲标准模板.pptVIP

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

程序设计实习 第二十一讲 标准模板库 STL-II 主讲教师:田永鸿 yhtian@ /cpp2008/tyh/tyh.htm /jiaoxue-CPP/cpp08.htm 2008年5月26日 内容回顾 容器类模板和迭代器 顺序:vector(随机) deque (随机) list(双向) 关联:set (双向) multiset (双向) map (双向) multimap (双向) 容器适配器:stack(不支持) queue (不支持) priority_queue (不支持) 每一类迭代器所能执行的操作不一样。 函数模板 find p = find(v.begin(),v.end(),9); //vector int * pp = find( array,array+4,20);//数组 copy ostream_iteratorint output(cout ,“*); copy (v.begin(),v.end(),output); 重点介绍了vector类模板(其实就是动态数组, 尾部添加数据, 用户无需维护内存) 空构造函数 数组构造 push_back() erase() vectorint::iterator p 课堂问题(1) 给定如下list容器,下述哪些语句是错误的?为什么? listint v; listint::const_iterator ii; (a)for( ii = v.begin(); ii != v.end ();ii ++ ) cout * ii; (b)for( ii = v.begin(); ii v.end ();ii ++ ) cout * ii; (c)for(int i = 0;i v.size() ; i ++) cout v[i]; 下列语句是否存在错误?若有,则改正;若无,请输出结果 vectorint v; v.push_back(1); v.push_back(2); vectorint::reverse_iterator r; for( r = v.rbegin();r != v.rend();r--) cout * r ,; 课堂问题(2) 下面的迭代器的用法哪些(若存在的话)是错误的? const vectorint ivec(10); vectorstring svec(10); listint ilist(10); (a) vectorint::iterator it=ivec.begin(); (b) listint::iterator it=ilist.begin()+2; (c) vectorstring::iterator it=svec[0]; (d) for (vectorstring::iterator it=svec.begin(); it != 0; ++it) //…… 对于下列程序任务,采用哪种顺序容器是实现最合适?解释选择的理由? (a)从一个文件中读入未知数目的单词,以生成英文句子; (b)读入固定数目的单词,在输入时将它们按字母序插入到容器中。 (c)读入未知数目的单词,总在容器尾部插入新单词,在容器首部删除下一个值; (d)从一个文件中读入未知数目的整数,对这些整数排序,然后把它们输出到标准输出设备。 课堂问题(3) 若iv是一个int型的vector容器,下面的程序错在哪里?如何改正? vectorint::iterator mid=iv.begin()+iv.size()/2; while (vectorint::iterator iter != mid) if (iter == some_val) ….. 添加一条语句后,下面的程序是否还有错?如何改正? vectorint::iterator iter =iv.begin(); vectorint::iterator mid=iv.begin()+iv.size()/2; while (vectorint::iterator iter != mid) if (*iter == some_val) iv.insert(iter, 2* some_val); 内容提要 新概念 函数对象 pair 模板 STL中的其它容器类模板 multiset/set multimap/map stack/queue/priority_queue 复习copy函数模板 函数对象 是个对象,但是用起来看上去象函数调用,实际上也执行了函数调用 class CMyAverage {

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档