选择排序:
原理:首先:在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,
然后:再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。
以此类推:直到所有元素均排序完毕。
#选择排序一:从小到大排序
def selectSort(arr):
n=len(arr)
for i in range(n):#遍历数组
t=i #取当前数
for j in range(i+1,n):#遍历 i 所在位置之后的数组
if arr[t] > arr[j]: #如果当前数 大于 之后的数
t = j #则把 j 的位置索引 给前一位置的 t,
#没有遍历循环的条件之后
# i 位置的数与 t 位置的数值对调
arr[i],arr[t]=arr[t],arr[i]
#测试
arr=[10,70,25,12,12,22,11]
selectSort(arr)
print("排序后的数组:")
for i in range(len(arr)):
print("%d" %arr[i])
#选择排序二:从大到小排序
def selectSort(arr):
n=len(arr)
for i in range(n):#遍历数组
t=i #取当前数
for j in range(i+1,n):#遍历 i 所在位置之后的数组
if arr[t] < arr[j]:#如果当前数 小于 之后的数
t = j #则把 j 的位置索引 给前一位置的 t,
#没有遍历循环的条件之后
# i 位置的数与 t 位置的数值对调
arr[i],arr[t]=arr[t],arr[i]
#测试
arr=[10,70,25,12,12,22,11]
selectSort(arr)
print("排序后的数组:")
for i in range(len(arr)):
print("%d" %arr[i])