排序之 -- 反轉排序


示意:

偶數:
初始數組資源 【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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM