题目内容:
编写程序实现以下功能:使用选择排序算法将列表中的元素按照升序方式排列。假设列表中有n个元素,则选择排序算法处理过程:
(1)从n个元素中找出具有最小值的元素,如果其不是第1个元素则将其与第1个元素交换。
(2)从后n-1个元素中找出具有最小值的元素,如果其不是第2个元素则将其与第2个元素交换。
...
(i)从后n-i+1个元素中找出具有最小值的元素,如果其不是第i个元素则将其与第i个元素交换。
...
(n-1)从后2个元素中找出具有最小值的元素,如果其不是第n-1个元素则将其与第n-1个元素交换。
排序完毕。
输入格式:
先输入列表中的元素个数n。
然后分n行输入n个元素的值。
输出格式:
分n-1行输出排序过程,分别对应题目中(1)~(n-1)处理后的列表。
输入样例:
5 15 10 2 3 1
输出样例:
[1, 10, 2, 3, 15] [1, 2, 10, 3, 15] [1, 2, 3, 10, 15] [1, 2, 3, 10, 15]
时间限制:500ms内存限制:32000kb
代码:
def selectionSort(lst):
for i in range(len(lst) - 1):
tmp = min(lst[i:])
if lst[i] != tmp:
index = lst.index(tmp)
lst[index] = lst[i]
lst[i] = tmp
print(lst)
if __name__=="__main__":
lst_number = int(input())
lst_input = []
while lst_number > 0:
lst_input.append(eval(input()))
lst_number -= 1
selectionSort(lst_input)
用例测试结果 | 运行时间 | 占用内存 | 提示 | 得分 |
---|---|---|---|---|
用例1通过 | 30ms | 4624kb | 2 |
本次得分/总分:2.00/2.00分