有谁知道数组的逆置怎么实现呢?

数组:类型相同的数据元素的集合,是C语言中的一种构造数据类型,这些元素会顺序地储存在内存的某段区域。但是数组的逆置怎么实现呢?


//数组的逆置
int main()
{
   int  a[10] = { 1,2,3,4,5,6,7,8,9,10};
   int i = 0;
   int j = sizeof(a) / sizeof(a[0]) - 1;
   int tmp = 0;
   while (i<j)
   {
     //前后交换
     tmp = a[i];
     a[i] = a[j];
     a[j] = tmp;
     //移动位置
     i++;
     j--;
   }
   system("pause");
   return 0;
}

高效学习C语言可以看我的主页或者专栏 https://blog.csdn.net/gzplyx?type=blog

首尾交换就行

#include <stdio.h>
int main()
{
    int a[10],i=0,t;
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
    for(i=0;i<5;i++)
    {  
        t = a[i];
        a[i] = a[9-i];
        a[9-i] = t;
    }
    for(i=0;i<10;i++)
        printf("%d ",a[i]);
}

代码实现和说明如下,望采纳

void reverseArray(int arr[], int n) {
    int temp;
    for (int i = 0; i < n / 2; i++) {
        temp = arr[i];
        arr[i] = arr[n - i - 1];
        arr[n - i - 1] = temp;
    }
}

这个算法通过遍历数组的前半部分,并将每个元素与相应的后半部分中的元素交换位置来实现逆置。举例,对于数组[1, 2, 3, 4, 5],它会将元素1与5交换位置,元素2与4交换位置,最终得到逆置后的数组[5, 4, 3, 2, 1]。