Python实现《冒泡排序法》
算法思想:
step1:将第一个数据和第二个进行比较,若第一个数据大于第二的数据,则将第一个数据(大数)和第二个数据(小数)交换位置。再将第二个数据和第三个比较,若第二个数据大于第三个数据,交换数据。依次类推,直到最大的数排到最后的位置上。第1个循环结束。
step2:将第一个数据和第二个进行比较,若第一个数据大于第二的数据,则将第一个数据(大数)和第二个数据(小数)交换位置。再将第二个数据和第三个比较,若第二个数据大于第三个数据,交换数据。依次类推,直到次大的数排到倒数第二的位置上。第2个循环结束。
step3:…第3个循环结束。
…
stepn:…第n个循环结束。数据已按从小到大排列完成并输出。
代码如下:
#测试数据
list1=[99,2,4,56,8,22,5,34,10,5.5,6,-5.2,0,-1,22,-99,55,20,32,15,64]
#冒泡排序法
def bubble_sort(arr):
array=arr
lenth=len(array)
for i in range(0,lenth):
for j in range(0,lenth-1-i):
if array[j]>array[j+1]:
array[j],array[j+1]=array[j+1],array[j]
return array
if __name__=='__main__':
print("排序前:%s" % list1)
print("%s %s" % (bubble_sort(list1),"---冒泡排序:"))
运行结果如下:
END |
---|