1. array方式
(1)使用一维数组访问的元素方式 访问二维数组
int rows=2;//rows>0
int columns=3;//columns>0
int matrix[] = {1,2,3,4,5,6};
for(int i=0;i<rows;i++)
{
for(int j=0;j<columns;j++)
{
cout<<matrix[i*columns+j]<<" "; //matrix[i*columns+j]等价于matrix[i][j]
}
cout<<endl;
}
(2)静态二维数组
int matrix[2][3] = {1,2,3,4,5,6};
(3)动态二维数组
//申请空间
int** matrix = new int*[rows];//注意,int*[rows]表示一个有rows个元素的指针数组
for(int i=0;i<rows;++i)
matrix[i] = new int[columns];
//释放空间
for(int i=0;i<rows;++i)
{
delete []matrix[i];
matrix[i]=nullptr;
}
delete []matrix;
matrix=nullptr;
2. vector方式
(1)一步完成:先定义好二维数组结构,再直接赋值
#include<vector>
int rows=2;//rows>0
int columns=3;//columns>0
vector<vector<int> > matrix(rows,vector<int>(columns));
for(int i=0;i<rows;i++){//初始化
{
for(int j=0;j<columns;j++)
{
matrix[i][j] = 0;
}
}
(2)二步完成: 先定义好二维数组结构,再直接赋值
#include<iostream>
#include<vector>
int rows=2;//rows>0
int columns=3;//columns>0
vector<vector<int> > matrix(rows);
for(int i=0;i<rows;i++)
{
matrix[i].resize(columns);
}
for(int i=0;i<rows;i++){//初始化
{
for(int j=0;j<columns;j++)
{
matrix[i][j] = 0;
}
}
949

被折叠的 条评论
为什么被折叠?



