Python编程基础 第五章 编程练习 编写程序实现以下功能:使用选择排序算法将列表中的元素按照升序方式排列。

题目内容:

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

上一篇:Python:对列表分组、拆分


下一篇:python 迷宫求路(递归方法)