STL

来源:互联网 发布:淘宝如何最快提交订单 编辑:程序博客网 时间:2024/06/05 08:40

一.什么时候用STL
如果,有的时候,你要在程序中用到堆、栈、队列、链表等一些基本的算法,而你又实在不想自己去实现数据结构教科书中那些繁琐的算法,那么你就可以考虑使用STL。
另外,STL作为一种标准,便于交流,掌握它,一方面可以让你写的程序,易于让别人理解,另一方面你也能够比较容易地理解别人写的程序。

二.什么是STL
全称为 Standard Template Library ,即标准模板库
要使用STL,要了解以下几个基本概念:
容器:可以把它理解为存放数据的地方,常用的一些容器有 链表(list) 栈(stack) 动态数组 (vector) 双端队列(deque) 队列(queue) 映射(map)
游标(iterator):可以把它理解为指针类型,STL中的许多函数需要用到它们作为参数
算法:它们通常需要与容器和游标配合使用,使用它们,你可以方便地对容器中的数据进行各种常见的操作,如排序操作,寻找最大元素的操作等

STL(2)–使用
一、容器模板的使用
大致有下面6个步骤:
1.添加相应的头文件(如 #include )( 注意,没有 .h )
2.添加std命名空间(用 using namespace std; )
3.赋予模板具体的使用类型(如 typedef list<string>LISTSTR; )
4.实例化模板(如 LISTSTR test; )
5.实例化游标(如 LISTSTR::iterator i; )
6.通过迭代器对象访问模板对象,例如
// 逐个输出链表test中的元素
for ( i = test.begin(); i != test.end(); ++i )
cout << *i << ” “;

二、容器模板中的常用函数
assign() 赋值
empty() 容器为空则返回非0值
erase() 删除指定位置或指定范围内的元素
push_front() 从容器头部插入元素
push_back() 从容器尾部插入元素
pop_front() 删除第一个元素
pop_back() 删除最后一个元素
back() 返回最后一个元素的引用
front() 返回第一个元素的引用
begin() 返回指向第一个元素的游标 (与迭代器配合使用)
end() 返回指向最后一个元素的后一个位置的游标 (最后1个元素再加1) (与迭代器配合使用)

http://blog.csdn.net/woniu211111/article/details/75305545?locationNum=1&fps=1这篇博客主要看三类分别讲解的较清楚,等具体算法慢慢补充。

原创粉丝点击