选择排序算法简单理解为:遍历一个数组,从索引为0开始和后面的索引的值对比,找到最小的,和其掉换位置,以此类推。
代码展示:
# coding:utf-8
import random
# Get min value function
def get_min(arg):
result = arg[0]
for i in range(len(arg)):
if result > arg[i]:
result = arg[i]
return result
# Select sort function come true
def select_sort(arr):
for i in range(len(arr)):
min_value = get_min(arr[i:])
if arr[i] > min_value:
arr[arr.index(min_value)] = arr[i]
arr[i] = min_value
print("遍历过程中:", arr)
return arr
if __name__ == '__main__':
arr_list = [each for each in range(20)]
random.shuffle(arr_list)
print("生成随机数组:", arr_list)
select_sort(arr_list)
print("排序后数组:", arr_list)
参考结果:
生成随机数组: [16, 9, 15, 19, 6, 7, 10, 1