【问题标题】:JES- Selection Sort using Nested For LoopsJES- 使用嵌套 For 循环的选择排序
【发布时间】:2017-11-09 06:07:11
【问题描述】:

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

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

【问题讨论】:

标签: python sorting for-loop nested jes


【解决方案1】:

首先你的 min 计算有问题,问题是 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

【讨论】:

    猜你喜欢
    • 2018-09-19
    • 2018-07-14
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    相关资源
    最近更新 更多