首页 > 代码库 > 排序之 -- 反转排序

排序之 -- 反转排序

示意:

偶数:
初始数组资源 【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 array20      *            要排序的数组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 array40      *            要显示的数组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 }

 

排序之 -- 反转排序