在C語言中,要實現多維數組的逆序排列,可以通過循環遍歷數組并交換元素的方式來實現。以下是一個示例,展示了如何實現二維數組的逆序排列:
#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("原始二維數組:\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("逆序排列后的二維數組:\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
函數接收一個二維數組、行數和列數作為參數,然后通過循環遍歷數組并交換元素的方式實現逆序排列。在main
函數中,我們定義了一個二維數組并調用reverse_2d_array
函數進行逆序排列,然后輸出原始數組和逆序排列后的數組。
注意:這個示例僅適用于二維數組,對于更高維度的數組,需要使用遞歸或其他方法來實現逆序排列。