1.冒泡排序也叫起泡排序,气泡排序。
基本思路(升序为例):比较第一个和第二个,逆序(data[0]>data[1])则交换,然后比较第二个和第三个,如此下去完成第一趟排序,这样最大的元素被安排到最后一个位置n;第二趟排序对前n-1个元素进行上述操作,第二大的元素排在n-1的位置;
最大比较次数n(n-1)/2 。时间复杂度为O(n**2) 冒泡排序是稳定的。
#升序例子
def mppx(datas):
length = len(datas)
for i in range(length - 1):
for j in range(length - 1 - i):
if datas[j] > datas[j+1]:
temp = datas[j]
datas[j] = datas[j+1]
datas[j+1] = temp
print datas
#降序例子
def bubble_sort(datas):
length = len(datas)
for i in range(length - 1, 0 , -1):
for j in range(i):
if datas[j+1] > datas[j]:
temp = datas[j+1]
datas[j+1] = datas[j]
datas[j]= temp
print datas
datalist = [60,71,49,11,82,49,24,3,66]
m