我试图在python中运行选择排序,这是我使用的代码
def main(list):
input_array = [12, 9, 13, 7, 3, 19, 6, 5]
output_array = selection_sort(input_array)
print(output_array)
def selection_sort(param):
for i in range(0, (len(param) - 1)):
min = i
for j in range(i + 1, len(param)):
if param[min] < param[j]:
min = j
if min != i:
temp = param[i]
param[i] = param[min]
param[min] = temp
return param
我得到的输出是
Process finished with exit code 0
我使用PyCharm作为主意,如果有任何后果的话。
答案 0 :(得分:2)
input_array应该是一个列表,你正在使它成为一个集合
input_array = [12, 9, 13, 7, 3, 19, 6, 5]
不要使用变量名称列表,它是内置列表的名称
selection_sort
更改行
minimum, i, j, temp = 0
到
minimum, i, j, temp = 0, 0, 0, 0
答案 1 :(得分:0)
这将按升序排序:
def selection_sort(my_list):
for j in range(len(my_list)):
for i in range(j, len(my_list)):
if my_list[i] < my_list[j]:
my_list[j], my_list[i] = my_list[i], my_list[j]
return my_list
def main():
input_array = [12, 9, 13, 7, 3, 19, 6, 5]
output_array = selection_sort(input_array)
print(output_array)
[3, 5, 6, 7, 9, 12, 13, 19]