三种反转数组的方法:
public class ReverseArray {
public static void main(String[] args) {
int[] arr = {11,22,33,55,66,88};
printArray(arr);
reverse0(arr);
reverse1(arr);
reverse2(arr);
}
public static void reverse0(int[] arr) {
for(int i=0; i<arr.length/2; i++) {
int tem = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = tem;
}
printArray(arr);
}
public static void reverse1(int[] arr) {
for(int start=0,end=arr.length-1;start<end;start++,end--) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
printArray(arr);
}
public static void reverse2(int[] arr) {
int[] tem = new int[arr.length];
for(int i=0; i<arr.length; i++) {
tem[i] = arr[arr.length-1-i];
}
printArray(tem);
}
public static void printArray(int[] arr) {
for(int i=0; i<arr.length; i++) {
if(arr.length==1) {
System.out.println("["+arr[0]+"]");
}
else if(i==0) {
System.out.print("["+arr[0]+",");
}
else if(i==arr.length-1) {
System.out.println(arr[i]+"]");
}
else {
System.out.print(arr[i]+",");
}
}
}
}
运行结果:
[11,22,33,55,66,88]
[88,66,55,33,22,11]
[11,22,33,55,66,88]
[88,66,55,33,22,11]