Vector 二维数组 实现

Posted Kernel001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
    }
}

 

以上是关于Vector 二维数组 实现的主要内容,如果未能解决你的问题,请参考以下文章

C++中vecotr表示二维数组并自己实现一个Grid类

如何实现二维向量数组?

在 C++ 11 中初始化二维数组有啥好的方法吗? [复制]

2610. 转换二维数组

vector二维数组的问题。

c++ 用vector 定义二维数组