冒泡排序,顾名思义就是把元素当作水中的气泡,不断往上升直到合适的位置。类比在数组中就是将低数值下标的元素不断往后移动比较,直到确定位置。
如数组 [3,2,1,0]
取第一个元素3,开始往后移,第一次冒泡3和2比较,3>2,则移动位置,数组变为 [2,3,1,0],
第二次冒泡3和1比较,3>1,则移动位置,数组变为 [2,1,3,0],
第三次冒泡3和0比较,3>0,则移动欸之,数组变为 [2,1,0,3],
至此,最大的数已经冒泡到了最高位,依据这种方法,再把2开始冒泡,可以预见,第二大的数会移动到第二大的位置,当把数组中每个数都冒泡一遍后,数组就会按照从小到大排列。
冒泡python实现
def bouble_sort(arry):
lenght = len(arry)
for i in range(lenght-1):
for j in range(lenght-1-i):
if arry[j] > arry[j+1]:
arry[j],arry[j+1] = arry[j+1],arry[j]
arry = [2,3,6,1,1]
bouble_sort(arry)
print(arry)