致谢:http://www.cppblog.com/bhjjkg/articles/94514.html
该文章讲的很清楚!
如果,有的时候,你要在程序中用到堆、栈、队列、链表等一些基本的算法,而你又实在不想自己去实现数据结构教科书中那些繁琐的算法,那么你就可以考虑使用STL。
另外,STL作为一种标准,便于交流,掌握它,一方面可以让你写的程序,易于让别人理解,另一方面你也能够比较容易地理解别人写的程序。
二.什么是STL
全称为 Standard Template Library ,即标准模板库
要使用STL,要了解以下几个基本概念:
容器:可以把它理解为存放数据的地方,常用的一些容器有 链表(list) 栈(stack) 动态数组 (vector) 双端队列(deque) 队列(queue) 映射(map)
游标(iterator):可以把它理解为指针类型,STL中的许多函数需要用到它们作为参数
算法:它们通常需要与容器和游标配合使用,使用它们,你可以方便地对容器中的数据进行各种常见的操作,如排序操作,寻找最大元素的操作等
STL(2)–使用
一、容器模板的使用 大致有下面6个步骤: 1.添加相应的头文件(如 #include <list> )( 注意,没有 .h ) 2.添加std命名空间(用 using namespace std; ) 3.赋予模板具体的使用类型(如 typedef list<string> LISTSTR; ) 4.实例化模板(如 LISTSTR test; ) 5.实例化游标(如 LISTSTR::iterator i; ) 6.通过迭代器对象访问模板对象,例如 // 逐个输出链表test中的元素 二、容器模板中的常用函数 assign() 赋值 empty() 容器为空则返回非0值 erase() 删除指定位置或指定范围内的元素 push_front() 从容器头部插入元素 push_back() 从容器尾部插入元素 pop_front() 删除第一个元素 pop_back() 删除最后一个元素 back() 返回最后一个元素的引用 front() 返回第一个元素的引用 begin() 返回指向第一个元素的游标 (与迭代器配合使用) end() 返回指向最后一个元素的后一个位置的游标 (最后1个元素再加1) (与迭代器配合使用) |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!