1 问题
冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻的元素可以交换,就表明完成了排序。那么怎么用Python实现冒泡排序呢?
2 方法
1.指向数组中相邻的两个元素(最开始是数组开头的两个元素),并比较它们的大小。
2.如果它们的顺序错了,就将它们两个的位置互换,如果顺序已经正确,就什么都不做。
3.将两个指针右移一格。重复第1、2步,直至指针到达数组末尾。
代码清单 1
代码语言:javascript复制mport sys
st1 = [int(i) for i in input().split()]
def maopao_sort(list):
un_sorted_len = len(list)-1
sorted = False
while not sorted:
sorted = True
for i in range(un_sorted_len):
if list[i]>list[i 1]:
sorted = False
list[i], list[i 1] = list[i 1],list[i]
un_sorted_len = un_sorted_len - 1
maopao_sort(st1)
print(st1)
3 结语
前三步骤其实是一个轮回,这个轮回结束后,最大值将被放到数组的最后,就好像最大的气泡冒出了水面一样。而冒泡排序就是不断地重复这一轮回的过程,直至整个数组的顺序正确。