将M行N 列的二维数组中的数据,按行的顺序依次存放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中
时间: 2023-05-21 22:04:41 浏览: 217
用一维数组表现的顺序存储结构
可以使用双重循环,将二维数组中的每一个元素逐一存放到一维数组中,直到一维数组存储满了所有的数据。具体实现代码如下:
void twoDArrayToOneDArray(int **twoDArray, int M, int N, int *oneDArray, int *n)
{
int count = 0;
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
if (count < *n) {
oneDArray[count++] = twoDArray[i][j];
} else {
return;
}
}
}
}
其中,twoDArray为二维数组的指针,M和N分别表示二维数组的行数和列数,oneDArray为一维数组的指针,n为一维数组的最大容量。函数执行完之后,n所指向的存储单元中将保存一维数组中实际存储的数据个数。
阅读全文