题目要求:
编写函数,对列表元素用选择法排序。编写主程序,
输入列表元素,调用函数排序,显示列表元元素。
注,不能使用Python及第三方库的排序函数。
代码
'''
.编写函数,对列表元素用选择法排序。编写主程序,
输入列表元素,调用函数排序,显示列表元元素。
注,不能使用Python及第三方库的排序函数。
written by Tianyanbin
2020/10/20
references:
选择排序法是一种不稳定的排序算法。
它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,
存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,
然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。
'''
def inputList():
#num_list = list(map(int, input().split())) # 或者
print("请输入整数,以空格隔开")
num_list = [int(i) for i in input().split()] # 接收一段以空格隔开的整数的输入
return num_list
def findMin(list):
num_min = list[0] #记录最小值
j = 0 #记录取得最小值时的下标
for i in range(len(list)):
if list[i] <= num_min:
num_min = list[i]
j = i
return num_min,j
def selectionSort(list):
new_list = [] #排好序的列表
for i in range(len(list)):
min, j = findMin(list)
new_list.append(min)
del list[j]
return new_list
def outputList(list):
for i in range(len(list)):
print(list[i])
if __name__ == '__main__':
list = inputList()
list = selectionSort(list)
print(list)
outputList(list)
#min,j = findMin(list)
#print("最小值为:%d,对应的下标为%d"%(min,j))