冒泡排序算法的原理如下:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
li=[9,4,7,3,2]
第一轮排序
94732
49732
47932
47392
47329
第二轮排序
47329
47329
43729
43279
第三轮排序
43279
34279
32479
第四轮排序
32479
23479
li=[9,4,7,3,2]
l=len(li)
def bubble_sort(args):
for i in range(1,len(li)): #一共要换len-1轮
for j in range(0,len(li)-i): #每一轮要比较的次数
if li[j]>li[j+1]: #如果比后面一个大,就交换
li[j],li[j+1]=li[j+1],li[j]
print(li)
bubble_sort(li)
[各种排序原理图解连接]
(http://tools.jb51.net/aideddesign/paixu_ys
)
网友评论