首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C中反转二维数组

在C语言中反转二维数组可以通过以下步骤实现:

  1. 定义一个二维数组,并初始化数组元素。
  2. 使用两个嵌套的for循环遍历二维数组。
  3. 在内层循环中,交换当前元素与对应位置的对称元素。
  4. 完成循环后,二维数组中的元素顺序将被反转。

以下是一个示例代码:

代码语言:txt
复制
#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为二维数组的元素个数。

腾讯云相关产品和产品介绍链接地址:

  • 云服务器CVM:https://cloud.tencent.com/product/cvm
  • 云数据库CDB:https://cloud.tencent.com/product/cdb
  • 云存储COS:https://cloud.tencent.com/product/cos
  • 人工智能AI:https://cloud.tencent.com/product/ai
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C/C++:使用二维数组名传参

在 C 中,当二维数组作为实参向形参传递时,参数会自动转化为指针类型,这时如果我们使用二维数组名传参,我们就不得不在函数形参中指明二维数组的第一维的长度,否则会导致编译错误。 这时如果想直接使用二维数组名传参,而二维数组却又是动态的,也就是二维数组的维度是不确定的,那我们得专门为不同维度长度的二维数组创建具有对应维度的形参的函数。这样太麻烦了。 而在 C++ 中,我们可以巧用模板来推导二维数组的类型(可以自动确定二维数组的维度长度),这样我们就可以做到直接使用二维数组名传参。借助了模板的类型推导功能,尽管是对于维度长度不同的二维数组,也可以使用同一个函数进行操作。

02
领券