JES- 使用嵌套 For 循环进行选择排序



>我需要编写一个程序来生成一个包含任意数量的随机整数的列表,并使用"选择排序"算法生成排序列表。

我不知道如何使用 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

首先,您的最小值计算有问题,问题是min的定义不是正确的位置,请尝试以下操作:

  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

相关内容

  • 没有找到相关文章

最新更新