【问题标题】:trying to implement Selection Sort in Python, result is incorrect尝试在 Python 中实现选择排序,结果不正确
【发布时间】:2021-04-05 06:13:07
【问题描述】:

在阅读有关算法的书时,我正在尝试自己在 Python 中实现选择排序。下面的代码导致一些项目被正确替换,但是,其中一些没有改变。

list = [23, 65, -9, 19, 90, 0, -1]


def sel_sort(A):
    for i in range(len(A)):
        sm_item = A[i]
        for j in range(1+i, len(A)):
            if A[j] < sm_item:
                A[i], A[j] = sm_item, A[i]
    return A

print(sel_sort(list))

结果是:[23, 65, 65, 65, 90, 90, 90]

不知道为什么会出现这个结果?

【问题讨论】:

    标签: python algorithm sorting selection-sort


    【解决方案1】:

    像这样更改你的代码

    list = [23, 65, -9, 19, 90, 0, -1]
    
    
    def sel_sort(A):
     for i in range(len(A)):
        sm_item = A[i]
        for j in range(1+i, len(A)):
            if A[j] < sm_item:
                sm_item=A[j]
                A[i], A[j] = A[j], A[i]
     return A
    
    print(sel_sort(list))
    

    【讨论】:

      猜你喜欢
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多