首页 > 编程语言 > 详细

排序算法之 '选择排序'

时间:2020-07-17 15:25:32      阅读:55      评论:0      收藏:0      [点我收藏+]

选择排序

原理如下:

  1. 首先假定数组中最大元素的下标为 0 , 即数组中的第一个元素
  2. 通过 for 循环,将第一个元素剩余元素逐一比较,比较过程中,如:第一个元素大于第二个元素,则更改最大元素的下标为 1,依次类推得到数组中真实的最大元素,将此最大元素放置在数组的最后位置,注意数组中的最大元素的位置已确定,不再更换
  3. 重复上述操作(除去数组中最大元素不参与比较)可以依次确定数组中的第二大、第三大等元素的位置。
  4. 直至整个数组都已顺序排列为止。

算法稳定性

选择排序中相同元素的前后顺序会发生改变,所以选择排序是一种非稳定型的排序算法

Python实现

def choose_sort(lst):
    length = len(lst)
    for j in range(length):
        max_index = 0
        for i in range(1, length - j):
            if lst[max_index] < lst[i]:
                max_index = i
        lst[max_index], lst[length - 1 - j] = lst[length - 1 - j], lst[max_index]
    return lst


if __name__ == ‘__main__‘:
    lst = [3, 4, 5, 7, 1, 2, 6, 9, 0]
    print(choose_sort(lst))
    
 
# [0, 1, 2, 3, 4, 5, 6, 7, 9]

排序算法之 '选择排序'

原文:https://www.cnblogs.com/fengting0913/p/13329338.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!