1. 程式人生 > 實用技巧 >通過一起重啟coredns操作引發的故障延伸至coredns監控

通過一起重啟coredns操作引發的故障延伸至coredns監控

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]