1 问题
原数组存储元素为{11,22,33,44,55},逆序输出数组{55,44,33,22,11}。
2 方法
首先我们要调用逆序的方法和遍历的方法,利用循环实现数组遍历,遍历的过程中,最远的两端换位。定义两个变量,对数组中的元素进行位置交换,min索引和max索引的元素交换。再定义变量保存min索引,将max索引的元素赋值给min索引。最后定义一个方法实现数组的遍历。
package blog;public class Test02 { public static void main(String[] args) { int[] arr = {11,22,33,44,55}; reverse(arr); printArray(arr); } public static void reverse(int[] array) { for(int min = 0,max = array.length-1;min<max;min++,max--){ int temp = array[min]; array[min] = array[max]; array[max] = temp; } } public static void printArray(int[] array){ System.out.println("["); for (int i=0;i<array.length;i++){ if(i==array.length-1){ System.out.println(array[i]+"]"); }else{ System.out.println(array[i]+","); } } }} |
---|
3 结语
要实现数组元素的逆序,就是要把数组中索引为start与end的元素进行互换。每次互换后,start索引位置后移,end索引位置前移,再进行互换。知道start位置超越了end位置,互换结束,数组元素逆序就完成了。