c#程式碼實現排序演算法之氣泡排序
阿新 • • 發佈:2018-11-08
氣泡排序的平均時間複雜度為O(n²),最好時間複雜度為O(n),最壞時間複雜度為O(n²),空間複雜度為O(1),是一種穩定的演算法。
1.將整個待排序的記錄序列劃分成有序區和無序區,初始時有序區為空,無序區包括所有待排序的記錄。
2.對無序區從前向後依次比較相鄰記錄,若反序則交換,從而使得值較小的記錄向前移,值較大的記錄向後移(向水中的氣泡,體積大的先浮上來)。
3.重複執行2,直到無序區中沒有反序的記錄。
public static void popSort() { int[] list = { 7, 5, 6, 3, 9, 4, 1 }; for (int i = 0; i < list.Length - 1; i++) { for (int j = 0; j < list.Length - 1 - i; j++) { if (list[j] > list[j + 1]) { int t = list[j]; list[j] = list[j + 1]; list[j + 1] = t; } } } }