【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();
        }
    }
相關文章
相關標籤/搜索