二维数组的创建:
//定义了一个二维数组a
int** a = new int* [k];
for (int i = 0; i < k; i++)
{
a[i] = new int[n];
}
看下面的图就很好理解了:
另一种方式:
int row,col;
cin>>row>>col;
int **a = (int**)malloc(sizeof(int*) * row);
for (i = 0;i < row;i++)
{
ar[i] = (int*)malloc(sizeof(int) * col);
}
二维向量的创建:
定义:
//这里定义了一个名为a的100行的向量
vector<vector<int> > v(100,vector<int>(0));
赋值:
这里将100个向量都赋值为1~100
for(int i=0;i<100;i++)
for(int j=1;i<=100;j++)
{
v[i].push_back(j);
}
二维队列的创建:
创建:
//这里定义了100行的队列q
queue<int> q[100];
赋值:
这里将100个向量都赋值为1~100。
for(int i=0;i<100;i++)
for(iny j=1;j<=100;j++)
{
q[i].push(j);
}
二维栈的创建:
stack<int> s[100];
栈和队列类似,这里就不写了。