vector是可以動態的開闢數組的形式。 以int 類型舉例
一維數組:
1、固定存儲
一維數組的定義: int a[10];
數組初始化:memset(a,-1,sizeof(a));(ps:memset是按照字節賦值的,初始化的時候一般爲-1,0,0x3f。原因:https://blog.csdn.net/peterkang202/article/details/45770947)
2、動態存儲
一維數組定義: vector<int> a();可以後續自動增加數組大小
初始化:vector<int> a(5,3);表示初始值爲3的5個數據的一維數組
二維數組:
1、固定存儲
int a[105][105];
2、動態存儲
vector<vector<int>> vec(10, vector<int>(8),20); //10行8列,全部初始化爲20的二維整數數組
struct 結合:
struct DATA
{
int x;
int y;
int weight;
}
DATA data;
vector<DATA> mapRoadNet(0);
data.x=u;
data.y=v;
data.weight=rand()%100+1;
mapRoadNet.push_back(data);
vector<DATA>::iterator it;
for(it=mapRoadNet.begin();it!=mapRoadNet.end();it++)
{
if( (it->weight) < Inf)
{
cout<<it->x<<"---"<<it->y<<endl;
}
}
//vector除了iterator 還可以用數組的形式訪問,如訪問vector的第三個數據的x,可以寫成
mapRoadNet[2].x;