你好! 我是猿先森,今天我和大家分享的是python实现冒泡排序的2种方法
方式一:i的索引倒叙
方式一是i作为外循环,i等于8,7,…,0而,j从0到8去做比较并交换满足x[j] > x[j+1] 的元素的顺序
#例:从小到大排序x内的数字
x = [1,2,6,0.3,2,0.5,-1,2.4]
n = len(x)
print(n)
for i in range(n,0,-1):
for j in range(n-1):
if x[j] > x[j+1]:
x[j],x[j+1] = x[j+1],x[j]
print(x)
##打印出的结果为:[-1, 0.2, 0.5, 1, 2.5, 3, 4, 7]
方式二:i的索引正序
x = [1,2,6,0.3,2,0.5,-1,2.4]
n = len(x)
for i in range(n):
for j in range(i):
if x[j] > x[i]:
x[i],x[j] = x[j],x[i]
print(x)
## 打印出的结果为:[-1, 0.2, 0.5, 1, 2.5, 3, 4, 7]
从大到小排序的方法
从小到到小排序只需将
if x[j] > x[i]:
修改为:
if x[j] < x[i]:
即可。
打印出的结果为:
[7, 4, 3, 2.5, 1, 0.5, 0.2, -1]
最后的话。
希望你好好总结一下这两种方式,虽然区别不是很大,但是也是2种实现方式。我也是一个Python初学者,欢迎搜搜关注我的公众号:优思学苑,我们一起成长。