排序演算法有很多,所以在特定情景中使用哪一種演算法很重要。為了選擇合適的演算法,可以按照建議的順序考慮以下標準:
(1)執行時間
(2)儲存空間
(3)程式設計
工作 對於資料量較小的情形,(1)(2)差別不大,主要考慮(3);而對於資料量大的,(1)為首要。
主要排序法有:
一、冒泡(bubble)排序——相鄰交換
二、選擇排序——每次最小/大排在相應的位置
三、插入排序——將下乙個插入已排好的序列中
四、殼(shell)排序——縮小增量
五、歸併排序
六、快速排序
七、堆排序
八、拓撲排序
九、錦標賽排序
十、基數排序
一、冒泡(bubble)排序
//從小到大排序(氣泡排序)
public class bubblesort ;
//int a = ;
system.out.println("排序之前:");
for(int i=0;i=0;i--)
}//如果經過乙個迴圈都沒有進行交換,說明此陣列已經是排好序的了
if(!swap)
} system.out.println("排序之後:");
for(int i=0;i效率 o(n²),適用於排序小列表。
二、選擇排序
//從小到大排序(選擇排序)
public class selectionsort ;
//int a = ;
system.out.println("排序之前:");
for (int i = 0; i < a.length; i++)
system.out.println();
for(int i=0;i效率o(n²),適用於排序小的列表。
三、插入排序
void insertsortarray()
arr[j+1]=temp;
} }
排序演算法總結 10 桶排序
桶排序假設待排序序列的元素服從 0 1 間的均勻分布,首先將區間 0 1 劃分成m個大小相同的子區間,或稱為桶。然後將所有元素放在各自所屬的區間中。因為序列是均勻分布的,所以各個區間中個元素個數相差不大。然後對每個區間的元素排列,可以用插入排序,因為元素較少,也可用快速排序。然後遍歷每個區間,將各個...
10種排序演算法,沒有實踐
1.氣泡排序 2.選擇排序 3.插入排序 4.交換排序 5.歸併排序 6.快速排序 7.希爾排序 8.堆排序 9.雙向氣泡排序 10.計數排序 排序演算法是一種基本並且常用的演算法。由於實際工作中處理的數量巨大,所以排序演算法 對演算法本身的速度要求很高。而一般我們所謂的演算法的效能主要是指演算法的...
8種排序演算法總結
1.直接插入排序 原理 將陣列分為無序區和有序區兩個區,然後不斷將無序區的第乙個元素按大小順序插入到有序區中去,最終將所有無序區元素都移動到有序區完成排序。要點 設立哨兵,作為臨時儲存和判斷陣列邊界之用。實現 void sortnumber method2 int array,int length ...