推荐使用
vector<vector<int>> array(m, vector<int>(m));//定义m行n列二维数组
二维指针
二维数组本身相当于是一维数组下存储指针,可以用new int[m]定义一维数组,但是不能定义new int[m][n]
//定义m行n列数组
int **array = new int *[m];
for(int i = 0; i < n; i++)
array[i] = new int[n];
vector
c++可以用vector定义二维数组,
vector<vector<int>> array[m];//表示m行
for(int i = 0; i < n; i++)
array[i].resize(n);//每个vectorresize为n,表示n列
//可以用一行代码表示
vector<vector<int>> array(m, vector<int>n);//定义m行n列二维数组
定义三维数组
通过指针完成,***
int height, row, col; //依次为三维数组的高、行、列
cout << "请输入三维数组高,行,列 : ";
cin >> height >> row >> col;
int i, j, k;
//动态定义三维数组
int ***p;
p = new int**[height];
for(i=0;i<height;i++)
{
p[i] = new int*[row];
}
for(i=0;i<height;i++)
{
for(j=0;j<row;j++)
{
p[i][j] = new int[col];
}
vector<vector<vector<int>>>dp(height,vector<vector<int>>(row,vector<int>(col)));
参考链接:
参考链接