STL学习笔记-->初识STL

“这里要用char类型”;

“这里要用int类型”;

“其实实现这个方法只需要把另一个方法的返回值的类型和传入参数的类型改成float类型就实现了”;

“其实这个算法只需要把以前写的那个稍微改动一下就行了”;

………………

学过面向对象语言的都知道GP这个概念,就是泛型程序设计,说的再明白点就是编写不依赖于具体数据类型的程序,C++作为一门面向对象语言,当然也有泛型这个概念,这就不得不提STL(Standard Template Library,标准模板库),是被融入C++标准程序库里面的一个高效的库,对于更深入学习C++了解和学习STL是很必要的!

本人虽然有修C++的课程,但是学的...  

接下来的时间我会把我的学习笔记和大家分享,不喜勿喷! (主要是为了加深理解和记忆)

个人觉得先从整体上了解一下是很有必要的:

STL主要包含容器、算法、迭代器三大核心部分:

1. STL容器包含了绝大多数数据结构,如数组、链表、字符串、队列、堆栈、树等;

简单的说就是一种存储有限个某类型数据元素的集合,每种类型都是一个数据结构.

常用的容器和容器适配器对应的头文件

容器类别

数据结构(容器类)

实现头文件

序列式容器

向量(vector)

<vector>

双向队列(deque)

<deque>

双向链表(list)

<list>

关联式容器

集合(set)、多重集合(multiset)

<set>

映射(map)、多重映射(multimap)

<map>

容器适配器

栈(stack)

<stack>

队列(queue)、优先级队列(priority_queue)

<queue>

 

2.STL算法包含了诸如增、删、改、查、排序等系统(全局)函数模板。这些算法都是泛型算法,同一个算法可以适用于任意类型的容器;

STL中的算法分别被组织在头文件<algorithm>,<numeric>和<functional>中,STL提供了大约70多个已经实现了的算法的函数模板,懂得了后只需要简单的调用算法模板就可以实现某些算法功能.

3.STL 迭代器类似指针一样,通过它的有序移动,把容器中的元素与算法关联起来,它是实现所有STL功能的基础所在。

“容器负责存储数据元素,算法负责加工处理数据元素,那么是谁负责将数据元素从容器里提取出来交给算法去处理呢?又是谁负责将算法处理过的数据元素写入容器呢?这项任务由迭代器负责完成。迭代器将容器与算法耦合起来,通过迭代器可以对容器内任意位置上的元素进行定位和存取(access)。”

三者之间的关系:

容器负责存储数据元素,算法负责处理数据元素。而迭代器则负责从容器中存取一个个数据元素提交给算法去进行处理,或者将算法处理完的数据元素放入容器。因此,迭代器将算法和容器连在一起.

先贴一个简单的程序吧:

 
  

转载于:https://www.cnblogs.com/Ninac/archive/2013/04/22/3035230.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值