一、前言
我运用到的编辑器是Anaconda3的JupyterNotebook,python的版本python3.
二、不同写法
1.第一种
代码如下(示例):
source=[1,10,35,61,89,36,55];
length=len(source);
print("冒泡排序:",end='');
for i in range(length):
print("%3d"%source[i],end="");
print();
for i in range(length,0,-1): #7 6 5 4 3 2 1
for j in range(i-1): #i=7:0 1 2 3 4 5
if source[j]> source[j+1]:
source[j],source[j+1] = source[j+1],source[j];
print("第%d次排序后的结果:" %(8-i),end='');
for i in range(length):
print("%3d"%source[i],end="");
print();
print("冒泡排序:",end='');
for i in range(length):
print("%3d"%source[i],end="");
print("\n排序结果:",end='');
for j in range(length):
print("%3d"%source[j],end="");
print();
运行结果:
冒泡排序: 1 10 35 61 89 36 55 第1次排序后的结果: 1 10 35 61 36 55 89 第2次排序后的结果: 1 10 35 36 55 61 89 第3次排序后的结果: 1 10 35 36 55 61 89 第4次排序后的结果: 1 10 35 36 55 61 89 第5次排序后的结果: 1 10 35 36 55 61 89 第6次排序后的结果: 1 10 35 36 55 61 89 第7次排序后的结果: 1 10 35 36 55 61 89 冒泡排序: 1 10 35 36 55 61 89 排序结果: 1 10 35 36 55 61 89
2.第二种
代码如下(示例):
source=[1,10,35,61,89,36,55];
def bubble_sort(array):
for i in range(1, len(array)):
for j in range(0, len(array)-i):
if array[j] > array[j+1]:
array[j], array[j+1] = array[j+1], array[j]
return array
'''
版权声明:本文为CSDN博主「Python碎片」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43790276/article/details/104033622
'''
print(bubble_sort(source))
运行结果:
[1, 10, 35, 36, 55, 61, 89]
冒泡排序原理详细介绍:
我在本网站看到了一篇讲的很详细的文章