温馨提示×

C语言双指针逆置数组的实现思路

小樊
82
2024-07-06 00:37:30
栏目: 编程语言

双指针逆置数组的实现思路如下:

  1. 定义两个指针,一个指向数组的开头,一个指向数组的末尾。
  2. 循环交换两个指针所指向的元素,并同时移动两个指针,直到两个指针相遇或交叉。
  3. 当两个指针相遇或交叉时,整个数组就逆置完成了。

下面是一个简单的示例代码:

#include <stdio.h>

void reverseArray(int* arr, int size) {
    int* start = arr;
    int* end = arr + size - 1;

    while (start < end) {
        int temp = *start;
        *start = *end;
        *end = temp;

        start++;
        end--;
    }
}

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

    reverseArray(arr, size);

    printf("Reversed array: ");
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

运行以上代码,输出结果为:

Reversed array: 5 4 3 2 1

0