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

插入算法:

先贴上代码如下

#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个,当数据量大时,执行代码时参数多的开销越大耗时也越久。

 

posted @ 2020-08-28 10:19  fengzao  阅读(135)  评论(0编辑  收藏  举报