Python编写一个冒泡排序函数,冒泡排序python实现
def bubble(L):printlforindexxirange(len)L)-1,0,-1):fortwo _ indexinrange(index):ifl[two _ 1]L[two _]L[two _ index]print ll=[10,20,40,50,30,60 ] bubble (l)方法1 :依次遍历,最小的数字下沉到数组的末尾
defbubble_improve(L):打印lflag=1 for index in range(len(l)-1,0,-1):if flag:flag=0 for two _ index in range(index):ifl[two _ index]l[two _ index 1]:l[two _ index 1]
方法2 )遍历一次后,标记判断是否还有更换。如果没有交换的话,就说明已经排队了。结束。否则继续遍历。
defbubble_improve2(L):打印lflag=1 for indindexrange(len(l(-1,0,-1)3360 if flag:flag=0 for two _ index in range(index):flag _ in=0 ifl[two _ index]l[two _ index 1]333333650 l[two _ index]flag=1 flag _ in=1 if flag _ in:if two _ index-103360 ifl[two _ index-1]l[two _ index]l
def bubble _ improve 1(L):printLflag=len(L(-1 while)flag 0):K=flag flag=0 for jinrange(K)3360 ifl[j 30,60 ] bubble _ improve1[ l ]方法3:也是记录标志,并且该标志是正在进行中的标志
def bubble _ improve(L):flag=1 bottom=0 top=len(L)-1 while flag 3360 flag=0 for index in range)bottom,top,165550 L[index 1]=L[index]flag=1 top=top-1 for index 1],L[index]flag=1 top=top-1 for index-1)3360 ifl[index L[index-1]flag=1 bottom=blag 60)bubble _ improve(L)方法4 )鸡尾酒排序)思想和方法2的区别在于从头到尾,然后自始至终往返
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。