《标准模板类库STL》PPT课件.ppt

《标准模板类库STL》PPT课件.ppt

ID:52091534

大小:1.15 MB

页数:79页

时间:2020-03-31

《标准模板类库STL》PPT课件.ppt_第1页
《标准模板类库STL》PPT课件.ppt_第2页
《标准模板类库STL》PPT课件.ppt_第3页
《标准模板类库STL》PPT课件.ppt_第4页
《标准模板类库STL》PPT课件.ppt_第5页
资源描述:

《《标准模板类库STL》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、11.1基本数据结构知识11.2泛型程序设计与标准模板类库STL简介11.3向量11.4链表类的使用11.5双端队列11.6栈与队列11.7集合第11章标准模板类库STLC++语言的标准模板类库STL(StandardTemplateLibrary)已经成为一个标准,它是一个基于模板的群性类库,包含群体类(链表、向量、栈、队列、集合、映象),算法(排序、查找)以及迭代子(iterator)。本章将着重介绍STL的使用。实现了数组和链表,它们属于线性群体。还有两种特殊的线性群体:栈和队列。Ele1……Ele2Elen入栈出栈栈顶栈底图栈的示意图栈是只能从一端访问的线性群体

2、,可以访问的这一端称栈顶,另一端称栈底。对栈顶位置的标记称为栈顶指针,对栈底位置的标记称为栈底指针。向栈顶添加元素称为“压入栈”(push),删除栈顶元素称为“弹出栈”(pop)。栈中元素的添加和删除操作具有“后进先出”(LIFO)的特性。【11.1基本数据结构知识】有一种限定的线性数据群体叫双端队列,它类似于限定删除和插入操作都必须在两端进行的链表。队列是一种特殊的线性群体。队列只能向一端添加元素,从另一端删除元素的线性群体,可以添加元素的一端称队尾,可以删除元素的一端称队头。对队头位置的标记称为队头指针,对队尾位置的标记称为队尾指针。Ele1出队入队Ele2Elen

3、……队头队尾非线性群体:集合和映射。集合由若干个元素组成,对于一个指定的元素,它或者属于该集合,或者不属于;可以对两个集合求交集和差等。映射则类似于字典的功能,如一个身份证号码可以映射为某个确定的人,图书馆中一本书的编号和这本书也是一个映射。向队尾添加元素称为“入队”,删除队头元素称为“出队”。队列中元素的添加和删除操作具有“先进先出”(FIFO)的特性。图队列的逻辑结构示意图11.2.1泛型程序设计将程序写得尽可能通用将算法从特定的数据结构中抽象出来,成为通用的C++的模板为泛型程序设计奠定了关键的基础STL是泛型程序设计的一个范例容器(container)迭代器(i

4、terator)算法(algorithms)函数对象(functionobject)【11.2泛型程序设计与标准模板类库STL简介】4命名空间(Namespace)一个命名空间将不同的标识符集合在一个命名作用域(namedscope)内为了解决命名冲突例如,声明一个命名空间NS:namspaceNS{classFile;voidFun();}则引用标识符的方式如下,NS::Fileobj;NS::Fun();没有声明命名空间的标识符都处于无名的命名空间中概念和术语5命名空间(Namespace)可以用using来指定命名空间例如,经过以下声明:usingNS::File

5、;在当前作用域中就可以直接引用Fileusingnamespacestd;命名空间std中所有标识符都可直接引用在新的C++标准程序库中,所有标识符都声明在命名空间std中,头文件都不使用扩展名概念和术语6容器容器类是容纳、包含一组元素或元素集合的对象。异类容器类与同类容器类顺序容器与关联容器七种基本容器:向量(vector)、双端队列(deque)、列表(list)、集合(set)、多重集合(multiset)、映射(map)和多重映射(multimap)概念和术语7容器的接口通用容器运算符==,!=,>,>=,<,<=,=方法(函数)迭代方法begin(),end(

6、),rbegin(),rend()访问方法size(),max_size(),swap(),empty()8适配器适配器是一种接口类为已有的类提供新的接口。目的是简化、约束、使之安全、隐藏或者改变被修改类提供的服务集合。三种类型的适配器:容器适配器用来扩展7种基本容器,它们和顺序容器相结合构成栈、队列和优先队列容器迭代器适配器函数对象适配器。概念和术语9迭代器迭代器是面向对象版本的指针,它们提供了访问容器、序列中每个元素的方法。概念和术语10算法C++标准模板库中包括70多个算法其中包括查找算法,排序算法,消除算法,记数算法,比较算法,变换算法,置换算法和容器管理等等。

7、这些算法的一个最重要的特性就是它们的统一性,并且可以广泛用于不同的对象和内置的数据类型。概念和术语11函数对象一个行为类似函数的对象,它可以不需参数,也可以带有若干参数,其功能是获取一个值,或者改变操作的状态。任何普通的函数和任何重载了调用运算符operator()的类的对象都满足函数对象的特征STL中也定义了一些标准的函数对象,如果以功能划分,可以分为算术运算、关系运算、逻辑运算三大类。为了调用这些标准函数对象,需要包含头文件。121994年7月,STL正式成为标准C++库的一部分。STL中的群体类是基于模板的,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。