- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 {
您可能关注的文档
- 福建省205年装修定额工程量计算规则.doc
- 福建省“十五”电动汽车充电基础设施专项规划.doc
- 福建地基检标准.doc
- 福建建筑人市场继续教育—建筑材料试卷.doc
- 福建省公共赁住房建设导则.doc
- 福建漳州佰圆山酒店项目工程监理大纲_159页.doc
- 福建省地方准(推荐).doc
- 神机妙算浙清单计价软件用户手册(增强版).doc
- 福建省公共筑用电量标准(征求意见稿).doc
- 福建省城市林植物种植技术规程.doc
- 甘肃省XB师范大学附属中学2025届高三上学期一模诊断考试地理答案.doc
- 甘肃省XB师范大学附属中学2025届高三上学期一模诊断政治含解析.doc
- 安徽省皖江名校2024-2025学年高一上学期12月联考英语无答案.doc
- 2025年1月八省联考高考综合改革适应性测高三化学陕西山西宁夏青海卷无答案.doc
- 2025年1月八省联考高考综合改革适应性测高三化学四川卷无答案.doc
- 2025年1月八省联考高考综合改革适应性测高三政治陕西山西宁夏青海卷无答案.doc
- 2025年1月内蒙古自治区普通高等学校招生考试适应性测试(八省联考)历史无答案.doc
- 2025年1月内蒙古自治区普通高等学校招生考试适应性测试(八省联考)历史含解析.doc
- 2025年1月四川省普通高等学校招生考试适应性测试(八省联考)历史含解析.doc
- 2025年1月四川省普通高等学校招生考试适应性测试(八省联考)政治无答案.doc
文档评论(0)