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

STL常用算法简介课件.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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和关联容器

文档评论(0)

dmdt5055 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档