示意:
偶数:
初始数组资源 【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 }
时间: 2024-10-28 02:50:56