其实,STL就是数据结构和算法。
主要就是三个部分
一:STL 容器
顺序容器:std::vector std:deque std::list
关联容器: std::set std::multiset set::map std::multimap
二: STL 迭代器
前向迭代器 双向迭代器 随机访问迭代器
三:STL算法
std::find std::find_if std:: reverse std::transform
for example:
#include <iostream>
#include <vector>
#include <algorithm>
//
using namespace std;
int main()
{
cout << "Hello STL" << endl;
// vector 容器 vector 是一个动态数组
vector<int> v;
v.push_back(50);
v.push_back(23);
v.push_back(288);
cout << "输出向量v里面的数据:" << endl;
vector<int>::iterator i = v.begin(); // 迭代器
while (i != v.end())
{
cout << *i << endl;
++i; // 迭代器在++
}
// STL 算法查找
vector<int>::iterator iElement = find(v.begin(), v.end(), 23);
if (iElement != v.end())
{
// 此处distanc 也是一个容器,它的第一个参数是容器的起点,第二个参数是容器的终点,返回两个数值的距离
int pos = distance(v.begin(), iElement);
cout << "查找的数值为:" << *iElement <<"以及位置为:" << pos << endl;
}
system("pause");
return 0;
}