Python 选择排序

一、思想

选择排序的算法核心思想是从数组中选择最小的元素,放到第一个位置,再从数组 中选择第二小的元素放到第二个位置,一直到数组的最后一个元素为止。
 
二、逻辑
1)选择数组的第一小的元素,将其放在第一个位置
2)选择数组的第二小的元素,将其放在第二个位置
3)重复上述步骤。。。
4)选择数组的第三小的元素,将其放在第n个位置
 
三、代码实现
 
def selectSort(arr):

    length = len(arr)
    for i in range(length):    #选择多少次
        min_value_index = i    #假定最小元素的索引为i
        for j in range(i+1,length):   #这层循环是找最小索引
            if arr[j]<arr[min_value_index]:    #如果后面比最小元素还小,那么交换索引
                min_value_index = j
        arr[i],arr[min_value_index] = arr[min_value_index],arr[i]
    return arr
arr = [-9,9,2,12,12,1293,0,20]
print(selectSort(arr))

结果:[-9, 0, 2, 9, 12, 12, 20, 1293]

四、时间复杂度

选择排序时间复杂度是 0( n的平方 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值