选择排序分析
- 输入: 长度为
length
的无序数组 - 输出: 长度为
length
的升序数组 - 原理
- 从第一个数开始, 遍历至数组的最后一项,取出最小值,与第一项交换
- 从第二个数遍历至数组的最后一项,取出最小项,与第二项交换
- 以此类推
- 直到遍历至最后一个元素,完成排序,得到升序数组
图解
例: [4, 9, 3, 5, 0, 2]
代码实现
def select_sort(arr): for i in range(0, len(arr) - 1): min_index = i + 1 for j in range(i+1, len(arr)): if arr[min_index] > arr[j]: min_index = j if arr[i] > arr[min_index]: temp = arr[i] arr[i] = arr[min_index] arr[min_index] = temp return arrif __name__ == '__main__': result = select_sort([6, 5, 4, 3, 2, 1]) print(result)复制代码