Vector 二维数组 实现

1.C++实现动态二维数组

  

int **p;
p = new int*[10];    //注意,int*[10]表示一个有10个元素的指针数组
for (int i = 0; i < 10; ++i)
{
    p[i] = new int[5];
}

2.利用指针数组实现二维数组

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

3.利用向量实现二维数组

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);
    }
}
原文地址:https://www.cnblogs.com/Kernel001/p/7854175.html