码迷,mamicode.com
首页 > 编程语言 > 详细

SelectSort 选择排序

时间:2019-12-26 09:39:29      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:排序   python   strong   python实现   变量   ret   div   def   最大值   

# SelectSort选择排序_Python实现
def select_sort(li):
    for i in range(len(li)):
        min_index = i  # 此处确定刚刚所排序好的最小值的次序
        for j in range(i+1, len(li) ): # 此处range最大值为index最高位数+1, 因为遍历是从i+1开始和i对比.
            if li[j] < li[min_index]:
                min_index = j
        li[i], li[min_index] = li[min_index], li[i]
    return li


list = [1, 55, 98984, 65, 165, 356, 54, 3, 645, 74, 64, 35]

li = select_sort(list)

print(li)

 

选择排序特征:

双遍历
从头开始, 定义变量最小值为遍历次数i坐标所在值.(末尾开始则定义最大值)
用最小值依次比较, 更小者替换.
一轮子遍历后, 变量为列表最小, 保存i位置.
下次遍历时从i+1开始,遍历剩下所有最小值.


选择排序和冒泡排序具有非常高的相似度.都是双遍历.
不同之处在于,
冒泡排序同时对比两个相邻, 满足交换位置, 不设置变量.
选择排序, 定义变量, 每次拿出一个与其, 满足条件则替换变量.

SelectSort 选择排序

标签:排序   python   strong   python实现   变量   ret   div   def   最大值   

原文地址:https://www.cnblogs.com/jrri/p/12099917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!