CPP课件第10章类库和C++的标准模板库STL幻灯片.pptVIP

CPP课件第10章类库和C++的标准模板库STL幻灯片.ppt

  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文档。上传文档
查看更多
* (参见example10_6) * (参见example10_8) (参见example10_9) * (参见example10_10) * (参见example10_11) * (参见example10_12) * (参见example10_13) 标准库定义在名字空间std #include iostream #include string using namespace std; //该编译指示引入std 里的所有符号 //使用该编译指示using namespace std;在C++标准类库中定义的名字在本程序中可以使用 //否则,iostream,string 等c++标准类就不可见了,编译就会出错。 10.2.3 标准模板库STL简介 Standard Template Library ( STL) 包含常用算法和数据结构的通用库 STL的核心内容是3个基本组件: 容器 算法 迭代器 STL中的容器类 容器(container)类是用来保存其它对象的,STL中定义了多种不同类型的容器,例如: 向量 vector 线性表 list 队列 queue 映射 map 集合 set 字符串string (还有其他容器类,可以参考其他书籍或者查阅联机手册) 常用算法algorithm 排序 sort( ) 查找 find( ) 替换 replace( ) 合并 merge( ) 反序 reverse( ) 统计 count( ) 其他等等算法 迭代器(iterator) 迭代器是一种类似于指针的对象。可以使用迭代器来访问容器中的元素,就像我们使用指针来访问数组一样。 STL中定义了五种迭代器: 随机访问迭代器 RandIter 双向迭代器 BiIter 前向迭代器 ForIter 输入迭代器 InIter 输出迭代器 OutIter STL的简单使用方法 在实际的C++面向对象程序设计中,STL库将起着举足轻重的作用。 STL是一个非常庞大、复杂的类库 目前已经有不少专著介绍STL 我们通过简单的实例介绍最基本的应用方法 10.2.4 标准模板库STL应用举例 向量 vector 线性表 list 队列 queue 映射 map 字符串string 1. 向量 vector 向量vector类可用来支持动态数组,动态数组是指可以根据需要改变大小的数组。 可以很容易地声明一个vector类对象,例如: vector int iv; vector int cv(5); vector int cv(5,’x’); vector int iv2(iv); vector应用实例 // Access a vector using an iterator. #include iostream #include vector using namespace std; int main( ) { vectorchar v; // create zero-length vector int i; // put values into a vector for(i=0; i10; i++) v.push_back(A + i); vector应用实例(续) // can access vector contents using subscripting for(i=0; i10; i++) cout v[i] ; cout endl; // access via iterator vectorchar::iterator p = v.begin( ); while(p != v.end()) { cout *p ; p++; } return 0; } 2. 线性表 list 线性表 list 类定义了双向的线性表, 又可称为双向链表。List类只支持顺序访问。 下面的C++程序通过实例化链表list类模板建立了一个保存字符的链表,接着使用类模板的排序方法sort( )进行排序,然后输出经过排序后的字符。 线性表list应用实例(续) // Sort a list. #include iostream #include list #include cstdlib using namespace std; int main() { int i; listchar lst; // create a list of random characters for(i=0; i10; i++) lst.push_back(A+ (rand()%26)); 线性表list应用实例(续) cout

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档