数组:类型相同的数据元素的集合,是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]。