冒泡排序的原理为数组之间,两两比较,以此把最大的往后放,逐步替换就能够完成排序!比如下面给出一组数:
排序前:[24,69,80,57,13]
第1次比较后:[24,69,57,13,80]
第2次比较后:[24,57,13,69,80]
第3次比较后:[24,13,57,69,80]
第4次比较后:[13,24,57,69,80]
通过第一次排序,将最大的80往后放,以次放入69,57,24,13。
代码如下:
s=list(map(int, input().split(" "))) #输入需要排序的数,以1 8 3 2 5进行输入
#print(sorted(s))
for i in range(len(s)-1): #这里的i是求解整个列表的长度,并且要-1
for j in range(len(s)-i-1): #在排序的过程中以此两两比较,把最大的放在最后
if s[j]>s[j+1]: #判断前一个是否大于后一个
temp=s[j] #将大于后一个的前一个值存储在temp中,用于替换s[j+1]上的值
s[j]=s[j+1] #将小的往前面移动,因此把s[j]替换为s[j+1]
s[j+1]=temp #将大的值往后移动,以此s[j+1]替换为前面比他大的数s[j]
print(s)
输出结果为:
1 8 3 2 5
[1, 2, 3, 5, 8]
Process finished with exit code 0