选择排序是比较简单的一种排序,它的主要思想是每次循环找出最小的数,把它放到未排序的子数组的首位,然后进行下一次循环。
下一次循环的时候,就多了一个排好序的数,少了一次比较。用python如下实现:
def Choose_sort(a): N = len(a) for i in range(0, N): min_index = i #最小数的起始位置 for j in range(i+1, N): #每次从未排序的子数组开始循环 if a[min_index] > a[j]: min_index = j #遇到比自己小的就把它的位置保存在min_index中 t = a[i] a[i] = a[min_index] #把最小值保存在a[i]中,i是子数组的起始位置,循环就从i+1开始了 a[min_index] = t #把原来a[i]里面的值保存到原来最小值的位置,完成交换 return a
时间: 2024-10-03 17:27:18