C语言中怎么不使用额外空间逆序一个数组

   2024-10-13 7740
核心提示:要在不使用额外空间的情况下逆序一个数组,可以使用双指针的方法。具体步骤如下:定义两个指针,一个指向数组的开头,一个指向数

要在不使用额外空间的情况下逆序一个数组,可以使用双指针的方法。具体步骤如下:

定义两个指针,一个指向数组的开头,一个指向数组的末尾。交换这两个指针指向的元素,并将指针向中间移动,直到两个指针相遇。整个数组就被逆序了。

以下是一个示例代码:

#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;}

运行以上代码,输出结果为:5 4 3 2 1

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号