vector可理解为一个长度可变的数组,当其内存接近于满时,便会申请内存,当其删减内容时,则会释放内存,vector的内存是动态的。vector支持随机访问,可像数组一样进行访问,但一般只在末尾进行插入。
vector的声明
#include<vector> 头文件
vector<int> a 长度变化的int数组
vector<int> b[100] 第一维是100,第二维变化的数组。
vector的函数
v.size() 求vector中元素个数
v.empty() 若为空返回true,否则返回false。
v.clear() 清空vector中的元素
v.push_back() 将一个元素从队尾消失
v.pop_back() 将一个元素插入到队尾
v.back() 返回vector最后一个元素,相当于*--v.end()和v[v.size()-1]
v.front() 指向队列顶端,相当于*v.begin()和v[0]
v.end() v队尾元素
v.begin() v开头元素
vector的简单应用
用vector代替邻接表保存有向图
void add(int x,int y){
ver[x].push_back(y);
edge[x].push_back(z);
}
//主函数中
for(int i=1;i<=ver[x).size();i++){
int y=ver[x][i];
z=edge[x][i];
//有向边y,z
}