温馨提示×

c语言数组的逆置方法是什么

小亿
92
2023-11-21 03:16:50
栏目: 编程语言

C语言数组的逆置方法有多种,下面列举其中两种常用的方法:

  1. 使用额外的数组进行逆置
#include <stdio.h>

void reverseArray(int arr[], int size) {
    int i, j;
    int temp[size]; // 创建一个与原数组大小相同的临时数组

    // 将原数组的元素逆序复制到临时数组
    for (i = size - 1, j = 0; i >= 0; i--, j++) {
        temp[j] = arr[i];
    }

    // 将临时数组的元素复制回原数组
    for (i = 0; i < size; i++) {
        arr[i] = temp[i];
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);

    reverseArray(arr, size);

    // 输出逆置后的数组
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}
  1. 使用两个指针进行逆置
#include <stdio.h>

void reverseArray(int arr[], int size) {
    int start = 0; // 指向数组首元素的指针
    int end = size - 1; // 指向数组末尾元素的指针

    while (start < end) {
        // 交换首尾指针所指向的元素
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;

        // 移动指针
        start++;
        end--;
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);

    reverseArray(arr, size);

    // 输出逆置后的数组
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

无论使用哪种方法,都可以实现对C语言数组的逆置。

0