Java幾種常用陣列排序

2021-07-04 14:26:06 字數 1901 閱讀 9505

package com.firewolf.sort;

public

class

mysort ;

mysort mysort = new mysort();

mysort.insertsort(array);

system.out.print("插入排序結果 : ");

mysort.printarray(array);

system.out.println();

mysort.bubblesort(array);

system.out.print("氣泡排序結果 : ");

mysort.printarray(array);

mysort.qsort(array);

system.out.println();

system.out.print("快速排序結果 : ");

mysort.printarray(array);

mysort.shellsort(array);

system.out.println();

system.out.print("希爾排序結果 : ");

mysort.printarray(array);

mysort.selectsort(array);

system.out.println();

system.out.print("選擇排序結果 : ");

mysort.printarray(array);

}/**

* 直接插入排序

* 基本思想:在要排序的一組數中,假設前面(n-1)[n>=2] 個數已經是排好順序的,現在要把第n個數插到前面的有序數中,使得這n個數也是排好順序的。如此反覆迴圈,直到全部排好順序

*/public

void

insertsort(int array)

array[j+1]=temp; } }

/*** 氣泡排序

* 基本思想:在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即:每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。

*/public

void

bubblesort(int array) }}

}/**

* 快速排序

* 基本思想:選擇乙個基準元素,通常選擇第乙個元素或者最後乙個元素,通過一趟掃瞄,將待排序列分成兩部分,一部分比基準元素小,一部分大於等於基準元素,此時基準元素在其排好序後的正確位置,然後再用同樣的方法遞迴地排序劃分的兩部分。

*@param array

*/public

void

qsort(int array)

}/**

* 一趟快速排序

*@param array

*/private

void

_qsort(int array,int low,int high)

}/**

* 得到中間值

*/private

intgetmiddle(int array,int low,int high)

/*** 簡單選擇排序

* 基本思想:在要排序的一組數中,選出最小的乙個數與第乙個位置的數交換;然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止。

*@param array

*/public

void

selectsort(int array)

} /**

* 列印陣列中的所有元素

*/public

void

printarray(int array)

}}

java的幾種常用的排序

排序是將一群資料,依指定的順序進行排列的過程 排序的分類 1.內部排序 指將需要處理的所有資料都載入到內部儲存器中進行排序,包括 交換式排序法,選擇式排序法和 插入式排序法 2.外部排序 資料量過大,無法全部載入到記憶體中,需要借助外部儲存進行排序,包括 合併排序法和 直接合併排序法 1.氣泡排序法...

java幾種排序

1.氣泡排序 氣泡排序 param array return public static int mpsort int array return array 2.選擇排序 選擇排序 param array return public static int xzsort int array retur...

用java編寫幾種常用的排序演算法

1.氣泡排序 public classbubblesort 氣泡排序 for int i 0 i i每增加1,j就走一趟 當i j時,此趟結束,i for int j arr.length 1 j i j for int n arr 2.選擇排序 public class selectsort fo...