排序之 -- 反转排序
Posted 小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序之 -- 反转排序相关的知识,希望对你有一定的参考价值。
示意:
偶数:
初始数组资源 【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 }
以上是关于排序之 -- 反转排序的主要内容,如果未能解决你的问题,请参考以下文章
算法之小细节(细节~链表的特殊结点~提升优化度)~反转链表删除排序链表中的重复元素