排序算法比对,插入算法和冒泡算法
插入算法:
先贴上代码如下
#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个,当数据量大时,执行代码时参数多的开销越大耗时也越久。