选择排序

冒泡排序的思路:从交换起始位置开始,比较最小下标对应值和j位置的值,如果j位置的值小于最小下标对应值,则最小值下标等于j。交换 l[i],l[min]=l[min],l[i]

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

冒泡排序的参数:交换对象为下标,每次遍历最后交换最小值和起始值。交换起始位置为i,交换终止位置为len(o),需要遍历的元素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 总趟数
    # 找到剩下未排序的数中的最小数下标,要设置在第一次循环和第二次循环之间
    min_index = i
    for j in range(i, len(l)):
        if l[j] < l[min_index]:
            min_index = j
    # 用剩下数中的最小数和第i个(剩下数中的第1个)元素交换
    l[i], l[min_index] = l[min_index], l[i]

print(l)

  

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