Vector的用法

tech2022-09-27  105

#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];
最新回复(0)