冒泡排序 双重遍历

冒泡排序的思路:从交换起始位置开始,比较相邻的两个数,如果j位置大于j+1位置的数,则发生交换。

冒泡排序的遍历:采用双重遍历,第一遍从j=0位置,一直比较到len(o)-1的位置,最大数将会在最后一位。第二遍从j=0位置,一直比较到len(o)-1-1的位置,第二大数将会在倒数第二位。

冒泡排序的参数:交换对象为元素,交换起始位置为0,交换终止位置为len(o)-1-i,需要遍历的元素i为len(o)-1个,交换条件根据升序还是降序要求来选择。

 

l = [8,9,7,6,5,4,3,2,1]

for i in range(len(l)-1):  # i=0,1,2,3,4,5,6,7 共8趟
    for j in range(len(l)-1-i):  # j 遍历剩下未排好序的数
        if l[j] > l[j+1]:
            l[j], l[j+1] = l[j+1], l[j]

print(l)
  

  

 

posted @ 2020-11-21 14:24  清水湾的水  阅读(188)  评论(0)    收藏  举报