温馨提示×

c语言怎么实现数组的逆置

小亿
174
2023-10-27 18:25:22
栏目: 编程语言

可以利用两个指针来实现数组的逆置。一个指向数组的起始位置,一个指向数组的末尾位置,然后交换两个指针指向的元素,然后分别向数组中心移动指针,再进行交换,重复这个过程直到两个指针相遇。

下面是一个示例代码:

#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]);

    printf("原始数组:");
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }

    reverseArray(arr, size);

    printf("\n逆置后数组:");
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

输出结果为:

原始数组:1 2 3 4 5 
逆置后数组:5 4 3 2 1 

0