在C語言中,要實現(xiàn)多維數(shù)組的逆序排列,可以通過循環(huán)遍歷數(shù)組并交換元素的方式來實現(xiàn)。以下是一個示例,展示了如何實現(xiàn)二維數(shù)組的逆序排列:
#include<stdio.h>
void reverse_2d_array(int arr[][3], int rows, int cols) {
for (int i = 0; i< rows / 2; i++) {
for (int j = 0; j< cols; j++) {
// 交換第i行和第rows-1-i行的元素
int temp = arr[i][j];
arr[i][j] = arr[rows - 1 - i][j];
arr[rows - 1 - i][j] = temp;
}
}
}
int main() {
int arr[][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
{10, 11, 12}
};
int rows = sizeof(arr) / sizeof(arr[0]);
int cols = sizeof(arr[0]) / sizeof(arr[0][0]);
printf("原始二維數(shù)組:\n");
for (int i = 0; i< rows; i++) {
for (int j = 0; j< cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
reverse_2d_array(arr, rows, cols);
printf("逆序排列后的二維數(shù)組:\n");
for (int i = 0; i< rows; i++) {
for (int j = 0; j< cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
這個示例中,reverse_2d_array
函數(shù)接收一個二維數(shù)組、行數(shù)和列數(shù)作為參數(shù),然后通過循環(huán)遍歷數(shù)組并交換元素的方式實現(xiàn)逆序排列。在main
函數(shù)中,我們定義了一個二維數(shù)組并調(diào)用reverse_2d_array
函數(shù)進行逆序排列,然后輸出原始數(shù)組和逆序排列后的數(shù)組。
注意:這個示例僅適用于二維數(shù)組,對于更高維度的數(shù)組,需要使用遞歸或其他方法來實現(xiàn)逆序排列。