python實現冒泡排序


冒泡排序算法的原理如下:
  1. 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
  2. 對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。
  3. 針對所有的元素重復以上的步驟,除了最后一個。
  4. 持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較
  5. 時間復雜度O(n)~O(n^2)
    def bubble_sort(array):
        if len(array) <2:
            return array
        else:
            num = 0
            for j in range(len(array)-1):
                for i in range(len(array)-1-j):
                    num += 1
                    if array[i] > array[i+1]:
                        mid = array[i+1]
                        array[i+1], array[i] = array[i], mid 
                print(array)
        print(num)
        return array
    
    array_0 = [12, 23, 54, 32, 11, 76, 5, 73]
    print(bubble_sort(array_0))
    [12, 23, 32, 11, 54, 5, 73, 76]
    [12, 23, 11, 32, 5, 54, 73, 76]
    [12, 11, 23, 5, 32, 54, 73, 76]
    [11, 12, 5, 23, 32, 54, 73, 76]
    [11, 5, 12, 23, 32, 54, 73, 76]
    [5, 11, 12, 23, 32, 54, 73, 76]
    [5, 11, 12, 23, 32, 54, 73, 76]
    28
    [5, 11, 12, 23, 32, 54, 73, 76]

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM