选择排序
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
import random
numbers_list = random.sample(range(1,50),15) # 生成随机数列表
def selectsort(arr:list) -> list: # 定义函数并规定输入的数据类型及 输出的数据类型
global index # 声明为全局变量
i = 0 # 开始索引
while i < len(arr): # 循环条件
value = arr[i] # 记录当前索引的value
for j in range(i+1,len(arr)): # 从i+1 开始遍历找到区间内最小的值,并将索引赋值给变量index
if arr[j] < value:
value = arr[j] # 记录较小的value
index = j # 记录较小value的索引
arr.pop(index) # 删除索引为index的value
arr.insert(i,value) # 将最小的插入到索引为i的位置
i += 1 # 索引迭代
print(arr,'---|',len(arr)) # 打印每一步处理数据后的arr
return arr # 返回处理好的列表arr
print('原始列表:',numbers_list)
print(selectsort(numbers_list))