在C语言中反转二维数组可以通过以下步骤实现:
以下是一个示例代码:
#include <stdio.h>
#define ROWS 3
#define COLS 3
void reverseArray(int arr[ROWS][COLS]) {
int i, j, temp;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS / 2; j++) {
temp = arr[i][j];
arr[i][j] = arr[i][COLS - 1 - j];
arr[i][COLS - 1 - j] = temp;
}
}
}
int main() {
int arr[ROWS][COLS] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int i, j;
printf("原始数组:\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
reverseArray(arr);
printf("反转后的数组:\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
这段代码中,我们定义了一个3x3的二维数组,并初始化了数组元素。然后使用reverseArray
函数来反转数组。在reverseArray
函数中,我们使用两个嵌套的for循环来遍历二维数组,并通过交换元素的方式实现反转。最后,在main
函数中打印出原始数组和反转后的数组。
这个算法的时间复杂度为O(n),其中n为二维数组的元素个数。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云