首页 > 解决方案 > 使用 Python 使用指针进行冒泡排序

问题描述

该代码不适用于某些测试用例。

def bubbleSort(array):
    l = 0
    r = 1
    isSorted = False
    while not isSorted:
        isSorted = True
        while r <= len(array)-1:
            if array[r] < array[l]:
                swap(l, r, array)
                isSorted = False
            l += 1
            r += 1
    return array

def swap(i, j, array):
    array[i], array[j] = array[j], array[i]
    return

谁能帮我解决这个问题??

标签: pythonbubble-sort

解决方案


r = 1您需要重新初始化 r和l 回到l = 0内部while not isSorted:。否则你只会运行一次完整的循环,因为在第一次迭代结束时, r 已经在len(array)


推荐阅读