题目内容:
编写程序实现以下功能:使用选择排序算法将列表中的元素按照升序方式排列。假设列表中有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分