# 简单选择排序
def JDXZPX(num):
for i in range(len(num) - 1): # 次数为n-1次
min = i # 最小=min
for j in range(i + 1, len(num)): # 遍历从i+1开始
if num[j] < num[min]: # 如果j<i
min = j # 最小为j
if min is not i: # 如果 min 不等于 i
num[i], num[min] = num[min], num[i] # 交换变量
return num
if __name__ == '__main__':
a = [1, 2, 5, 5, 6, 7, 9, 5, 2, 1, 8, 6, 3]
print(JDXZPX(a))
输出结果[1,1,2,2,3,5,5,5,6,6,7,8,9]
简单选择排序原理:
首先从待排序序列中找到最小(或最大)的元素,将它与序列中的第一个元素交换位置;然后从剩下的未排序元素中找到最小(或最大)的元素,将它与序列中的第二个元素交换位置;依次类推,直到所有元素都排好序为止