#include <vector> //头文件
vector<int> a; //相当于长度动态变化的int数组
vector<int> b[10] //相当于一个二维数组,第一维长10,第二维长度动态变化
struct node
{
int a;
}
vector<node>c; //自定义的结构体也可以保存在vector中
size/empty
所有的STL容器都支持这两个方法,含义也相同。
v.size()//返回元素的个数
v.empty()//返回一个true/false
clear 清空vector
迭代器
vector<int>::iterator it; 迭代器就像STL中的指针,可以与一个整数相加,与指针类似。
begin/end
begin返回第一个元素的迭代器,end返回最后一个元素的后一个位置。
for(int i=0;i<v.size();i++)
cout<<v[i]<<endl;
for(vector<int>::iterator it=v.begin();it!=v.end();it++)
cout<<*it<<endl;
front/back
v.front()返回第一个元素,v.back()返回最后一个元素。
push_back/pop_back
v.push_back(x) 插入x
v.pop_back() 删除最后一个元素
用vector代替邻接表存储有向图
const int MAX_EDGES=10010;
vector<int> ver[MAX_EDGES],edge[MAX_EDGES];
存边
void add(int x,int y,int z)
{
ver[x].push_back(y);
edge[x].push_back(z);
}
遍历从x出发的所有边
for(int i=0;i<ver[x].size();i++)
int y=ver[x][i],z=edge[x][i];
Vector的用法
最新推荐文章于 2024-08-02 23:57:24 发布