STL包含六大组件:容器、算法、迭代器、仿函数、适配器、空间配置器。
STL六大组件的交互关系:容器通过空间配置器取得数据存储空间,算法通过迭代器存储容器中的内容,仿函数可以协助算法完成不同的策略的变化,适配器可以修饰仿函数。
容器:已实现的最广泛应用的数据结构。如数组(array) , 链表(list), tree(树),栈(stack), 队列(queue), 集合(set),映射表(map)。
算法:问题的解法,以有限的步骤,解决逻辑或数学上的问题。
迭代器:容器和算法的粘合剂。
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
//STL中的容器 算法 迭代器
void test01(){
vector<int> v; //STL 中的标准容器之一 :动态数组
v.push_back(1); //vector 容器提供的插入数据的方法
v.push_back(5);
v.push_back(3);
v.push_back(7);
//迭代器
vector<int>::iterator pStart = v.begin(); //vector 容器提供了 begin()方法 返回指向第一个元素的迭代器
vector<int>::iterator pEnd = v.end(); //vector 容器提供了 end()方法 返回指向最后一个元素下一个位置的迭代器
//通过迭代器遍历
while (pStart != pEnd){
cout << *pStart << " ";
pStart++;
}
cout << endl;
//算法 count 算法 用于统计元素的个数
int n = count(pStart, pEnd, 5);
cout << "n:" << n << endl;