思路
顺序排序使用的是冒泡排序来实现的,而倒叙排序则是在排序前通过顺序排序将数组的顺序排好,在此基础上对数组进行元素调换来实现倒叙。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| public class ArraySort {
public static int[] sort(int[] arr){ for (int i = 1; i < arr.length; i++) { for (int j = 0; j < arr.length - i; j++) { if (arr[j]>arr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } return arr; }
public static int[] reverse(int[] arr){ arr = sort(arr); for (int s = 0,e=arr.length-1; s < e; s++,e--){ int temp = arr[s]; arr[s] = arr[e]; arr[e] = temp; } return arr; }
public static String toString(int[] arr){ if (arr == null){ return "null"; } int iMax = arr.length-1; if (iMax == -1){ return "[]"; } StringBuilder buffer = new StringBuilder(); buffer.append("["); for (int i = 0; ; i++) { buffer.append(arr[i]); if (i==iMax){ return buffer.append(']').toString(); } buffer.append(","); } } }
|