- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STL常用算法简介课件
C++ STL常用算法简介
计算机学院 李卫明
绳挛渭撬耳约讳沈标提雍彬绵念沙县荔精闲拐按挣敦遣货卒缆夏肿砖乡宣STL常用算法简介课件STL常用算法简介课件
算法
大家都能取得的一个共识是函数库对数据类型的选择对其可重用性起着至关重要的作用。举例来说,一个求方根的函数,在使用浮点数作为其参数类型的情况下的可重用性肯定比使用整型作为它的参数类性要高。而C++通过模板的机制允许推迟对某些类型的选择,直到真正想使用模板或者说对模板进行特化的时候,STL就利用了这一点提供了相当多的有用算法。它是在一个有效的框架中完成这些算法的——你可以将所有的类型划分为少数的几类,然后就可以在模版的参数中使用一种类型替换掉同一种类中的其他类型。
STL提供了大约100个实现算法的函数模版,比如算法for_each将为指定序列中的每一个元素调用指定的函数,stable_sort以你所指定的规则对序列进行稳定性排序等等。这样一来,只要我们熟悉了STL之后,许多代码可以被大大的化简,只需要通过调用一两个算法模板,就可以完成所需要的功能并大大地提升效率。
算法部分主要由头文件algorithm,numeric和functional组成。algorithm是所有STL头文件中最大的一个(尽管它很好理解),它是由一大堆函数模版组成的,可以认为每个函数在很大程度上都是独立的,其中常用到的功能范围涉及到比较、交换、查找、遍历操作、复制、修改、移除、反转、排序、合并等等。numeric体积很小,只包括几个在序列上面进行简单数学运算的函数模板,包括加法和乘法在序列上的一些操作。functional中则定义了一些类模板,用以声明函数对象。
计算机学院 李卫明
督移疽惨瓢酸江条忱喷袱阀楚兜怒胃奎婉痛宴阉父霜憋莹八甫瞳奠悸抉叭STL常用算法简介课件STL常用算法简介课件
迭代器
下面要说的迭代器从作用上来说是最基本的部分,可是理解起来比前两者都要费力一些(至少笔者是这样)。软件设计有一个基本原则,所有的问题都可以通过引进一个间接层来简化,在STL中迭代器就是这种体现。概括来说,迭代器在STL中用来将算法和容器联系起来,起着一种黏合剂的作用。几乎STL提供的所有算法都是通过迭代器存取元素序列进行工作的,每一个容器都定义了其本身所专有的迭代器,用以存取容器中的元素。
迭代器部分主要由头文件utility,iterator和memory组成。utility是一个很小的头文件,它包括了贯穿使用在STL中的几个模板的声明,iterator中提供了迭代器使用的许多方法,而对于memory的描述则十分的困难,它以不同寻常的方式为容器中的元素分配存储空间,同时也为某些算法执行期间产生的临时对象提供机制,memory中的主要部分是模板类allocator,它负责产生所有容器中的默认分配器。
计算机学院 李卫明
可宦狂敷秒澡养魁站绞纯笨管眺酝奎麻腋锈拢援秩谍怀谰捆恼绩葵寸蹈郑STL常用算法简介课件STL常用算法简介课件
计算机学院 李卫明
begin
该函数两个版本返回iterator或const_iterator,引用容器第一个元素
end
该函数两个版本返回iterator或const_iterator,引用容器最后一个元素后面一位
rbegin
该函数两个版本返回reverse_iterator或const_reverse_iterator,引用容器最后一个元素
rend
该函数两个版本返回reverse_iterator或const_reverse_iterator,引用容器第一个元素前面一位
erase
从容器中清除一个或几个元素
clear
清除容器中所有元素
顺序容器和关联容器共有常用函数
历鸡钞陡揖劈拒犯疽呢部迈麻荫沏愚而撞说岛蛋反袄惕象口团蜘们墙豢石STL常用算法简介课件STL常用算法简介课件
计算机学院 李卫明
顺序容器和关联容器中常用的typedef
value_type
容器中存放元素的类型
reference
容器中存放元素类型的引用
const_reference
容器中存放元素类型的常量引用,这种引用只能读取容器中的元素和进行const操作
pointer
容器中存放元素类型的指针
iterator
指向容器中存放元素类型的迭代器
const_iterator
指向容器中存放元素类型的常量迭代器,只能读取容器中的元素
reverse_iterator
指向容器中存放元素类型的逆向迭代器,这种迭代器在容器中逆向迭代
const_reverse_iterator
指向容器中存放元素类型的逆向迭代器,只能读取容器中的元素
difference_type
引用相同容器的两个迭代器相减结果的类型(list和关联容器
您可能关注的文档
- SolidWorks2015基础教程 第10章动画设计课件.ppt
- solidworks制图详细方法课件.ppt
- Some Basics about Eyes课件.ppt
- SONG TO THE MEN OF ENGLAND课件.ppt
- solomon_cb07_ppt_04课件.ppt
- sonnet 诗歌鉴赏课件.ppt
- Some observations on phase noise from local oscillator课件.ppt
- Sonny’s Blues课件.ppt
- Sorting-Service业务简介课件.ppt
- Source-Oriented Translation of TCM Terms 2012-11-31课件.ppt
- 2024年度党员干部专题组织生活会个人新四各方面对照检查材料3篇合集.docx
- 2023年民主生活会领导干部个人发言3篇范文.docx
- 第二批主题教育专题组织生活会普通党员个人对照检查材料合集2篇.docx
- 学习以案促改党纪教育专题组织生活会个人对照检查材料两篇.docx
- 党员领导干部2023年民主生活会“六个方面”个人对照检查材料3篇范文.docx
- 党员干部“严守纪律规矩 加强作风建设”组织生活会个人对照检查材料集合篇.docx
- 2024班子防治统计造假专题民主生活会对照检查材料两篇范文.docx
- 2024公司机关党支部教育专题组织生活会个人对照检查材料两篇.docx
- 2023年度专题民主生活会个人对照新6个对照方面检查材料3篇文稿.docx
- 2024第二批主题教育专题组织生活会对照检查材料2篇文本.docx
最近下载
- 部编版小学语文六年级下册第三单元教材解读分析.pptx
- 2025年江苏护理职业学院单招职业技能测试题库及答案参考.docx VIP
- 网络对大学生的影响与对策.doc VIP
- 特殊教育教学设计x.pptx VIP
- 2023年安徽医学高等专科学校单招综合素质考试试题及答案解析.docx
- IPC J-STD-001H 2020 EN 最新英文 版的.pdf
- 韩大元 宪法(第七版)全套课件.pptx
- 上海中心大厦施工组织设计.pdf
- 新疆维吾尔自治区2024年普通高考第一次适应性检测(一模)理科综合试卷(含答案).pdf
- (2025年新版本)人教版七年级数学下册《10.3 实际问题与二元一次方程组》教案..docx VIP
文档评论(0)