示意:
偶數:
初始數組資源 【10 20 30 40 50 60】
第一趟排序后 60 【20 30 40 50】 10
第二趟排序后 60 50 【30 40】 20 10
第三趟排序后 60 50 40 30 20 10
奇數:
初始數組資源 【10 20 30 23 40 50 60】
第一趟排序后 60 【20 30 23 40 50】 10
第二趟排序后 60 50 【30 23 40】 20 10
第三趟排序后 60 50 40 23 30 20 10
實例:
1 /** 2 * 反轉排序算法實例 3 * 4 * @author Li Zhong Wei 5 */ 6 public class ReverseSort { 7 public static void main(String[] args) { 8 // 創建一個數組 9 int[] array = { 10, 20, 30, 40, 50, 60 }; 10 // 創建反轉排序類的對象 11 ReverseSort sorter = new ReverseSort(); 12 // 調用排序對象的方法將數組反轉 13 sorter.sort(array); 14 } 15 16 /** 17 *直接選擇排序法 18 * 19 * @param array 20 * 要排序的數組 21 */ 22 public void sort(int[] array) { 23 System.out.println("數組原有內容:"); 24 showArray(array);// 輸出排序前的數組值 25 int temp; 26 int len = array.length; 27 for (int i = 0; i < len / 2; i++) { 28 temp = array[i]; 29 array[i] = array[len - 1 - i]; 30 array[len - 1 - i] = temp; 31 } 32 System.out.println("數組反轉后內容:"); 33 showArray(array);// 輸出排序后的數組值 34 } 35 36 /** 37 * 顯示數組所有元素 38 * 39 * @param array 40 * 要顯示的數組 41 */ 42 public void showArray(int[] array) { 43 for (int i : array) {// foreach格式遍歷數組 44 System.out.print("\t" + i);// 輸出每個數組元素值 45 } 46 System.out.println(); 47 } 48 }