案例描述:
请声明一个5个元素的数组,并且将元素逆置。
(如原数组元素为:1 3 2 5 4;逆置之后输出结果为:4 5 2 3 1);
第一版错误代码
int a = 0;
int arr[5] = {1,3,2,5,4};
for(int i = 0;i <5; i++){
int m = 4 - i;
a = arr[i];
arr[i] = arr[m];
arr[m] = a;
cout<<arr[i]<<endl;
}
正确代码
int arr[5] = {1,3,2,5,4};
cout<<"数组元素逆置前:"<<endl;
for(int i = 0;i < 5;i++){
cout<<arr[i]<<endl;
}
int start = 0;//起始下标
int end = sizeof(arr) / sizeof(arr[0]) - 1;//结束下标
while(start < end){
//实现元素互换
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
//下标更新
start++;
end--;
}
cout<<"数组元素逆置后:"<<endl;
for(int i = 0;i < 5;i++){
cout<<arr[i]<<endl;
}
运行结果
数组元素逆置前:
1
3
2
5
4
数组元素逆置后:
4
5
2
3
1
请按任意键继续. . .