选择排序Python实现

选择排序分析

  • 输入: 长度为length的无序数组
  • 输出: 长度为length的升序数组
  • 原理
    1. 从第一个数开始, 遍历至数组的最后一项,取出最小值,与第一项交换
    2. 从第二个数遍历至数组的最后一项,取出最小项,与第二项交换
    3. 以此类推
    4. 直到遍历至最后一个元素,完成排序,得到升序数组

图解

例: [4, 9, 3, 5, 0, 2]


选择排序图解.png

代码实现

def select_sort(arr):
    for i in range(0, len(arr) - 1):
        min_index = i + 1
        for j in range(i+1, len(arr)):
            if arr[min_index] > arr[j]:
                min_index = j
        if arr[i] > arr[min_index]:
            temp = arr[i]
            arr[i] = arr[min_index]
            arr[min_index] = temp
    return arr
if __name__ == '__main__':
    result = select_sort([6, 5, 4, 3, 2, 1])
    print(result)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 胆小鬼连幸福都害怕,碰到棉花都会受伤。 太宰治写下干涩的手札,钢笔在信笺上重重戳出晕染的大片墨渍。 他也许知道自己...
    子恕阅读 788评论 0 1
  • 请珍惜我赠与你的小花吧 不要迟疑 我害怕她会凋谢 枯萎在肮脏的尘埃里
    刘汉皇阅读 188评论 0 3
  • 你的姿态,你的故意弄作态 都不在 你的存在,我的追求所在 已走开 狂妄的、造作的 都只不是你的选择 别扭的~高傲的...
    L_Dragon阅读 269评论 0 0
  • “无论如何,生活还是要继续。”我从路边的一块破石板上站起来,只能再回头走去。 之前不管不顾从家里“逃”出来,漫无目...
    finishingpoint阅读 201评论 1 0
  • 这一周真是丰富多彩的一周,我先来说说足球课吧:这一周的足球课的主要内容是踢足球比赛,刚开始上课的时候老师给我们讲一...
    小溪流18王家硕阅读 238评论 0 2