我需要编写一个程序来生成一个包含任意数量的随机整数的列表,并使用"选择排序"生成一个排序列表。算法。
我不知道如何使用i从0到列表的最后一个索引进行计数。
我也不确定如何使用j从i + 1计算到列表的最后一个索引。
当我运行程序时,它只是生成一个包含10个整数的随机列表,其中一些是负数,一些是正数。下面是一张照片说明,到目前为止我的代码。感谢您提供任何帮助。
def main():
list= []
length= 10
num_operations= 0
while num_operations < length :
list= list + [randint(1, 100)]
num_operations+=1
print list
for i in range( 0, length ) :
i = i + 1
min = i
for j in range ( i + 1, length ) :
if list[j] < list[min] :
min = j
if min != i :
temp= list[i]
list[i]= list[min]
list[min]= temp
答案 0 :(得分:0)
First something is wrong with your min calculation, the problem is the definition of min isn't as its right place, try this:
min = 0
for i in range( 0, length) :
for j in range ( i + 1, length) :
if list[j] < list[min] :
min = j
i = i + 1