python自学python小课——零基础入门——学习笔记

python实现选择排序 -- 详细思路分析

2020-06-26  本文已影响0人  于饼喵

1. 选择排序思想

将数组分为左右两部分,左边放置的是有序的元素,右边放置的是无序的元素,每次从无序的部分找出最小的元素放到左边有序的部分。【始终从右边未排序部分选择一个最小的放到左边已排序部分的末尾】


2. 选择排序实现步骤

2-1.第一次遍历

第一次排序
"""第一次遍历代码"""
n = len(target_list)
min_index = 0
for i in range(1,n):
    if target_list[min_index] > target_list[i]:
        min_index = i
target_list[0],target_list[min_index] = target_list[min_index],target_list[0]

2.2.多次遍历

第二次排序 第n-1次排序
def select_sort(target_list):
    n = len(target_list)
    # # j只需要走到n-2的位置
    for j in range(0,n-1):
        min_index = j
        # i游标需要走完所有从j+1开始所有的索引位置
        for i in range(j+1,n):
            if target_list[min_index] > target_list[i]:
                min_index = i
        target_list[j],target_list[min_index] = target_list[min_index],target_list[j]
上一篇下一篇

猜你喜欢

热点阅读