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) ;

posted @ 2017-08-29 22:54  home普通的人  阅读(40403)  评论(1编辑  收藏  举报