排序算法比對,插入算法和冒泡算法

插入算法:

先貼上代碼如下

#coding:utf-8

"""
插入算法 -- 原列表下每單個數對整個列表的比較並找到最合適位置,只需定義一個變量
"""

a = [3, 2, 4, 1, 5]


def inSort(list1):
    if len(list1) == 0:
        return
    # k = 1
    # for i in (1, len(list1)):
    for i in range(1, len(list1)):
        b = list1[i]
        cc = i - 1
        while cc >=0:
            if b < list1[cc]:
                list1[cc+1] = list1[cc]
            else:
                break
            cc -= 1
        list1[cc + 1] = b
        print(list1)

    print(list1)

inSort(a)
# sorted(a)

        
        

 

 

冒泡算法代碼如下

#coding:utf-8

"""
冒泡算法-- 相鄰兩數比較, 需要定義三個變量
"""

a = [3, 2, 4, 1, 5]


def inSort(list1):
    len1 = len(list1)
    for i in range(len1-1):
        j = i + 1
        # for j in range(0, i+1):
        #     a = list1[i]
        #     b = list1[j]
        #     if list1[i] > list1[j]:
        #         list1[i] = b
        #         list1[j] = a
        # print(j)
        # print(list1[j])
        while j > 0 :
            a = list1[j]
            b = list1[j-1]
            # print(a,b)
            if a < b:
                list1[j] = b
                list1[j-1] = a
            else:
                break
            j -= 1
        # print(list1)
    print(list1)


            


inSort(a)
# sorted(a)

        
        

 

示例代碼如上,結論:插入算法更快切穩定

理由:

   1、定義參數個數,冒泡3個,插入1個,當數據量大時,執行代碼時參數多的開銷越大耗時也越久。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章