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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM