STL标准模板库:
STL是Standard Template Library缩写,中文名叫做标准模板库
由惠普实验室提供的(使用了C++的模板语言封装的常用的数据结构
和算法),里面共有三大类内容:
算法:以函数模板形式实现的常用算法:例如:swap、max、min、
find、sort
容器:以类模板形式实现了常用的数据结构,例如:栈、队列、链式表、
顺序表、红黑树
迭代器:它是容器的成员,用于帮助访问容器中的元素,使用方法类似
于指针
常用的算法函数:
#include
iterator find( iterator start, iterator end, const TYPE& val );
功能:顺序查找
start:指向第一个元素的指针或者迭代器
end:指向最后一个元素的下一个位置的指针或迭代器
val:待查找的关键数据
返回值:
在[start,end)范围内找到了val,返回该val的指针或迭代器
找不到返回end
#include <algorithm>
void sort( iterator start, iterator end );
void sort( iterator start, iterator end, StrictWeakOrdering cmp );
功能:快速排序
start:指向第一个元素的指针或者迭代器
end:指向最后一个元素的下一个位置的指针或迭代器
注意:排序的元素需要支持<运算符,否则要在后面提供比较的回调函数参数,格式
如下:
cmp:
bool cmp(const int& a,const int& b)
{
return a>b;
}
vector向量容器:
头文件:#include
采用顺序结构存储数据,可以通过下标随机访问元素,因此也称为数组容器
vector( size_type num, const TYPE& val = TYPE() );
num:数组的长度
val:用于初始化所有元素,不给默认为0
vector( input_iterator start, input_iterator end );
功能:通