数组反转和逆序输出的思路:
1、数组反转的思路是:用0号元素和数组最后一个元素进行互换,然后分别继续互换到start(前一个元素下标)大于end(后一个元素下标)的时候停止互换,打印反转后的数组,这个思路可以应用到逆序输出
2、逆序输出直接从后面倒过来输出即可
做法1:
int [] arr={11,22,33,44,55};
for (int i = 0; i < arr.length/2; i++) {
int temp=arr[i];
arr[i]=arr[arr.length-1-i]; //arr[arr.length-1-i] 相当于从后面开始访问回来的下标
arr[arr.length-1-i]=temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
做法2:
int [] arr1={11,22,33,44,55};
for (int start = 0,end=arr1.length-1; start <end; start++,end--) { //进行数组元素互换,当start(下标)大于end(下标)的时停止互换元素
int temp =arr1[start];
arr1[start]=arr1[end];
arr1[end]=temp;
}
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]);
}
做法3(数组交换的第三种做法(其实本质也是第二种做法)比较好理解):
int [] arr2={11,22,33,44,55};
int start=0;
int end=arr2.length-1;
while(start<=end){
int temp =arr2[start];
arr2[start]=arr2[end];
arr2[end]=temp;
start++;
end--;
}
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
做法4(直接逆序输出,从后面倒过来输出,可以提高一点点效率):
int [] arr3={11,22,33,44,55};
for (int i=arr3.length-1;i>=0;i--){
System.out.println(arr3[i]);
}
作者:KJ.JK
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习