SelectSort 选择排序

Posted jrri

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SelectSort 选择排序相关的知识,希望对你有一定的参考价值。

# 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 选择排序的主要内容,如果未能解决你的问题,请参考以下文章

选择排序——selectSort

简单选择排序SelectSort

排序--SelectSort优化

冒泡排序(BubbleSort)算法以及简单选择排序(SelectSort)算法实现(C语言)

BasicSort 之 SelectSort

Selectsort