数组元素的逆置

设数组arr有n个元素,要对数组的n个元素进行逆置。

int start=0;
int end=sizeof(arr)/sizeof(arr[0])-1;
//当元素个数为偶数个数时,刚好把每个元素的位置都进行互换了,循环条件为start<end
//当元素个数为奇数个数时,中间位置的元素不变,其余位置的元素要进行互换,此时
//循环条件为start<end
//综上,无论元素个数是奇数还是偶数,循环条件都同样是start<end
while(start<end)
{
    //实现元素的互换
    int temp=arr[start];
    arr[start]=arr[end];
    arr[end]=temp;
    
    //下标进行更新
    start++;
    end--;
}

或者有更简单直白的方式:

int n=sizeof(arr)/sizeof(arr[0]);
//无论n是奇数或者偶数,都需要交换n/2次
for(i=0;i<n/2;i++)
{
      int temp=a[i];
      arr[i]=arr[n-1-i];
      arr[n-1-i]=temp;
}