C++ STL
Vector
-
向量,变长数组
-
用于初始数组容量不确定的情况
-
用邻接表实现图
一、使用方式
#include <vector>
using namespace std;
vector<typename> name;
二、访问方式
- 下标访问
- 使用迭代器iterator 访问
#include <vector>
using namespace std;
int main(){
Vector<int> v;
v.push(); //向数组中添加元素
...
//1.使用 下标访问
for(int i = 0;i<v.size();i++){
printf("%d",v[i]);
}
//2.使用 迭代器访问
for(vertor(int)::iterator it = v.begin();it!=v.end();it++){
printf("%d",*it);
}
}
三、常用函数
函数名 | 函数作用 | 时间复杂度 |
---|---|---|
push_back() | 在容器尾部添加元素 | O(1) |
pop_back() | 在容器尾部删除元素 | O(1) |
size() | 获取数组容量 | O(1) |
clear() | 清空数组 | O(N) |
insert(it,x) | 在迭代器it位置添加x元素 | O(N) |
erase(it) erase(first,last) |
删除迭代器it位置的元素 删除 [first,last) 位置的元素 |
O(N) |
Set
-
集合
-
内部自动有序
-
自动去重
一、使用方式
#include<set>
using namespace std;
set<typename> name;
二、访问方式
- 只支持 迭代器访问
#include<stdio.h>
#include<set>
using namespace std;
int main(){
set<int> s;
s.insert(12); //添加元素
...
for(set<int>:: iterator it = s.begin();it!=s.end();it++){
printf