选择排序

作者: 心_的方向 | 来源:发表于2016-12-15 12:18 被阅读24次

    基本思想

    每一次从待排序的序列中找出最小或最大的那一个,然后存放在序列的起始位置,然后继续找第二小或第二大的那一个,存放在序列的第二个位置,知道全部待排序的数据排序完成。

    python实现

    #!/usr/bin/python
    # encoding: utf-8
    
    # 选择排序
    def selectSort(alist):
        # 遍历的次数
        for i in range(0, len(alist)):
            # 存储的位置
            flag = i
            for j in range(i+1, len(alist)):
                # 如果比当前位置的值还要小,则更新位置
                if alist[flag] > alist[j]:
                   flag = j
            # 找到最大的位置后,交换位置
            alist[flag],alist[i] = alist[i],alist[flag]
    
    a = [5,2,1,3,7,9,8,4,6]
    selectSort(a)
    print(a) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
    

    相关文章

      网友评论

        本文标题:选择排序

        本文链接:https://www.haomeiwen.com/subject/iomwmttx.html