【Java SE】如何用Java實現反轉排序


摘要:反轉排序是將原先已經排序好了的重新排序,是原來的數組元素的順序反轉過來。假設原來的數組順序是{6,5,4,3,2,1},反轉之后的順序就是{1,2,3,4,5,6}.這個排序的算法不是很難,代碼量也不是很多。

  1. 排序原理:將第一個元素與最后一個元素調換位置,第二個元素和倒數第二個元素調換位置,然后依次類推,直到將所有的數組元素都調換位置。反轉排序不會按升序或者降序排序。反轉排序是對數組兩邊的元素進行替換,所有只需循環數組長度的半數次數。
  2. 適宜人群:有一定Java SE基礎,明白Java的數據類型,數組的定義、初始化以及常用數組的方法,還有Java的循環操作。
  3. 前期准備:最好有一個開發工具比如說:eclipse或者myeclipse都可以,當然你使用DOS系統進行編譯運行都可以,只不過改bug會麻煩一點。
  4. 反轉排序的應用:其實很多排序的算法並不一定都會用到,但是這些算法能鍛煉我們的邏輯思維能力。這個算法可以運用到我們的貪吃蛇游戲當中,頭部可以當尾部,尾部可以當頭部來使用。
  5. 算法實現:下面來介紹一下反轉排序的具體用法。
    package liuenci.cn.package_3;
    
    public class ReverseSort {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //創建一個數組
            int[] array={100,90,80,70,60,50,40,30,20,10,0};
            ReverseSort sorter=new ReverseSort();
            //調用反轉排序對象的方法將數組反轉
            sorter.sort(array);
        }
        public void sort(int[] array){
            System.out.print("數組原來內容:");
            showArray(array);//排序前的數組值
            int temp;
            int len=array.length;
            for(int i=0;i<len/2;i++){
                temp=array[i];
                array[i]=array[len-1-i];
                array[len-1-i]=temp;
            }
            System.out.print("數組反轉后內容:");
            showArray(array);
        }
        public void showArray(int[] array){
            for(int i:array){
                System.out.print(" "+i);
            }
            System.out.println();
        }
    }

     


免責聲明!

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



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