1. 程式人生 > >C++ vector二維陣列

C++ vector二維陣列

C++ 構建二維動態陣列

int **p;
p = new int*[10];    //注意,int*[10]表示一個有10個元素的指標陣列
for (int i = 0; i < 10; ++i)
{
    p[i] = new int[5];
}

這樣就構成10*5的陣列

或者

複製程式碼

int v[2][3]={{1,2,3},{4,5,6}};
int (*a)[3]=v; //a是指向有3個int元素的陣列的指標
cout<<**a;          // 1
cout<<**(a+1);   // 4
cout<<*(*a+1);   // 2
cout<<*(a[0]+1); // 2
cout<<*(a[1]);     // 4

複製程式碼

vector二維陣列

複製程式碼

int i,j;
vector<vector<int>> array(5);
for (i = 0; i < array.size(); i++)
    array[i].resize(3);

for(i = 0; i < array.size(); i++)
{
    for (j = 0; j < array[0].size();j++)
    {
        array[i][j] = (i+1)*(j+1);
    }
}

複製程式碼

新增元素

for(int i=0;i<n;i++)

  array[i].push_back(x) ;