- 6
- 0
- 约2.85万字
- 约 134页
- 2017-09-20 发布于江苏
- 举报
STL算法主要由头文件algorithm、numeric和functional组成: “algorithm”是所有STL头文件中最大的一个,它是由很多函数模板组成的。可以认为每个函数模板在很大程度上都是独立的,其中常用到的功能范围涉及到比较、交换、查找、遍历、赋值、修改、移动、移除、反转、排序、合并等。如果使用这些函数模板,要在头文件中包含algorithm。 §8.4.3 算法 STL算法主要由头文件algorithm、numeric和functional组成: “numeric”体积很小,只包括几个在序列上面进行简单数学运算的函数模板,包括加法和乘法在序列上的一些操作。 “functional”中则定义了一些类模板,用以声明函数对象。 §8.4.3 算法 //STL演示程序:输入--排序--输出 #include iostream #include string //用于人机界面交互 #include vector //为了使用vector容器 #include algorithm //为了使用sort算法 #include iterator //为了使用输入输出迭代器 using namespace std; STL中的copy算法和sort算法应用的例子 §8.4.3 算法 int main(void) { typedef vectorint IntVector; typedef istream_iteratorint IstreamItr; typedef ostream_iteratorint OstreamItr; typedef back_insert_iterator IntVector BackInsItr; // STL中的vector容器 IntVector num; //从标准输入设备读入整数,直到输入的是非整型数据为止 cout 请输入整数序列,按任意非数字键并回车结束输入\n; copy(IstreamItr(cin), IstreamItr(), BackInsItr(num)); §8.4.3 算法 //提示程序状态 cout 排序中……\n; // STL中的排序算法 sort(num.begin(), num.end()); cout排序完毕的整数序列:\n; copy(num.begin(), num.end(), OstreamItr(cout, \n)); //使输出窗口暂停以观察结果 system(pause); return 0; } §8.4.3 算法 本章内容勘误 1. P219 【例8-7】的程序代码的第8行、第9行中两个“”全部修改为““。 2. P233 从上面数第3行: 30,40,50,60,70,80,90,100 修改为: 30 40 50 60 70 80 90 100 3.编写一个顺序表类模板。 4. 编写一个单链表类模板。 * * 容器是容纳、包含一组元素或元素集合的对象。不管是C++内建的基本数据类型或是用户自定义的类类型的数据,都可以存入STL的容器中。 §8.4.1 容器 注意:如果存储在容器中的元素的类型是用户自定义的类类型,那么至少要为该类提供默认的构造函数、析构函数和赋值运算符函数。一些编译器还需要重载一些关系操作符函数(至少需要重载= =和,还可能需要重载!=和),即使程序并不需要用到它们。另外,如果用户自定义的类中有指针数据成员,还必须提供复制构造函数和函数operator=,因为插入操作使用的是插入元素的一个副本,而不是元素本身。 §8.4.1 容器 STL容器按存取顺序大致分为两种: 序列(sequence)容器与关联(associative)容器。 序列容器主要包括vector(向量)、list(表)、deque(双端队列)、stack(栈)、queue(队列)、priority_queue(优先队列)等。其中,stack和queue由于只是将deque改头换面,其实是一种容器适配器,但它的用途在软件领域比deque广泛。priority_queue也是一种容器适配器。序列容器中只能包含一种类型的数据元素,而且各元素的排列顺序完全按照元素插入时的顺序。 §8.4.1 容器 关联容器主要包括set(集合)、multiset(多重集合)、map(映射)、multimap(多重映射),可以存储值的集合或键值对。键是关联容器中存储在有序序对中的特定类型的值。map和multimap存储和操作的是键和与键相关的值,其元素是有关联的键,值数据对。set和multiset存储和操
您可能关注的文档
- 英语作文预测-看图作文.ppt
- C++第4章继承与组合.ppt
- C++第5章多态性与虚函数.ppt
- 北京化工大学电工学(电工技术)第七版3电路的暂态分析.ppt
- 北京化工大学电工学(电工技术)第七版4正弦交流电路.ppt
- 建筑光学物理复习资料2.1建筑光学的基本知识.ppt
- 建筑光学物理复习资料2.2天然采光.ppt
- 英语口语考试备考内容(口语话题选择).doc
- 建筑光学物理复习资料2.3建筑照明.ppt
- 北师大大学美育电影部分王韵课件.电影鉴赏第一讲.ppt
- 腾讯安全沙龙:红队视角下的海外SRC猎场:战略、战术与突破.pdf
- 【icap】ETS的范围扩展:设计和政策挑战.docx
- bcg -美国最高法院关于关税的裁决对你的企业意味着什么 What Does the US Supreme Court Ruling on Tariffs Mean for Your Business.pdf
- 2026届甘肃兰州市高三下学期第一次模拟考试历史试卷(扫描版,含答案).docx
- bcg -零售银行如何让人工智能代理发挥作用 How Retail Banks Can Put AI Agents to Work.pdf
- 住宅项目规范解读(GB 55038-2025) -培训 - 房地产-2025.docx
- 盘扣式脚手架工程量自动计算表 -培训 -房地产-2025.pdf
- 广东省汕头市2024-2025学年高三下学期第一次模拟考试英语学试题(含答案).docx
- 品牌研究+_+2025+CAPSE中国航司品牌榜单.pdf
- 【银河专题】如何看待豆粕内外价差关系.pdf
原创力文档

文档评论(0)