通過一起重啟coredns操作引發的故障延伸至coredns監控
阿新 • • 發佈:2020-11-16
1 概念
氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端。
2 演算法描述
1. 比較相鄰的元素。如果第一個比第二個大,就交換它們兩個;
2. 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對,這樣在最後的元素應該會是最大的數;
3. 針對所有的元素重複以上的步驟,除了最後一個;
4. 重複步驟1~3,直到排序完成。
3動圖演示
4程式碼實現
C語言實現
function bubbleSort(arr) { varlen = arr.length; for(vari = 0; i < len - 1; i++) { for(varj = 0; j < len - 1 - i; j++) { if(arr[j] > arr[j+1]) { // 相鄰元素兩兩對比 vartemp = arr[j+1]; // 元素交換 arr[j+1] = arr[j]; arr[j] = temp; } } } returnarr; }
python實現
def bubble_sort(alist): length = len(alist) for i in range(length - 1): # i表示比較多少輪 for j in range(length - i - 1): # j表示每輪比較的元素的範圍,因為每比較一輪就會排序好一個元素的位置, # 所以在下一輪比較的時候就少比較了一個元素,所以要減去i if alist[j] > alist[j + 1]: alist[j], alist[j + 1] = alist[j + 1], alist[j]