三大初級排序演算法

2022-02-19 14:05:11 字數 1092 閱讀 9530

1、氣泡排序

氣泡排序是最慢的排序演算法。在實際運用中它是效率最低的演算法。它通過一趟又一趟地比較陣列中的每乙個元素,使較大的資料下沉,較小的資料上公升。它是o(n^2)的演算法。

2、插入排序

插入排序通過把序列中的值插入乙個已經排序好的序列中,直到該序列的結束。

3、shell排序

shell排序通過將資料分成不同的組,先對每一組進行排序,然後再對所有的元素進行一次插入排序,以減少資料交換和移動的次數。平均效率是o(nlogn)。

氣泡排序c#實現:

///

///氣泡排序

/// public

class

bubblesort : isort}}

return

array;

}public

static

void swap(ref

int int1, ref

intint2)}}

氣泡排序

插入排序c#實現:

///

///插入排序

/// public

class

insertsort : isort

array[preindex + k] =current;}}

return

array;}}

插入排序

shell排序c#實現:

///

///shell排序

/// public

class

shellsort : isort

;foreach (int k in

list)

array[preindex + k] =current;}}

}return

array;}}

shell排序

效能測試**:

class

program

}

效能測試

結果截圖:

初級排序演算法

回顧之前學習的各種排序演算法,從初級到高階,包括選擇排序,氣泡排序,插入排序,希爾排序,快速排序,歸併排序,堆排序等等,持續更新中 注 這裡實現的演算法都是遞增排序,也就是從小到大排序。思想 首先,找到陣列中最小的那個元素,其次,將它和陣列的第乙個元素交換位置 如果第乙個元素就是最小元素那麼它就和自...

初級排序演算法

排序模板 public class example private static boolean less comparable v,comparable w private static void exch comparable a,int i,int j private static void ...

三大排序演算法

當前結果是從大到小,若想從小到大排序,將a j a j 1 改為 a j a j 1 即可 a 1,4,2,5,22,3 n len a for i in range 1 n for j in range n i if a j a j 1 a j a j 1 a j 1 a j print a 當前...