1.STL六大部件
- 容器
- 分配器
- 算法
- 迭代器
- 适配器
- 仿函数
#include<iostream>
#include<algorithm>
#include<functional>
#include<vector>
using namespace std;
int main() {
int ia[6] = { 1,2,3,4,5,6 };
vector<int, allocator<int>> vi(ia, ia + 6);//和分配器的类型要对应上
cout << count_if(vi.begin(), vi.end(), not1(bind2nd(less<int>(), 40)));
system("pause");
return 0;
}
vector:使用的容器是vector
allocator:使用的分配器是allocator,帮我们分配类型为int的内存
count_if:算法
vi.begin():迭代器
not1 bind2nd:函数适配器
less:仿函数
2.时间复杂度
- 1.O(1)或者O(c):称为常数时间
- 2.O(n):称为线性时间
- 3.O(log2n):称之为次线性时间
- 4.O(n2):平方时间
- 5.O(N3):立方时间
- 6.O(2N次方):指数时间
- 7.线性和二次方之间的
3.“前闭后开”区间
4.应该在代码中使用容器,而不要直接使用分配器,申请内存使用new或者malloc,直接用不好