你的代码几乎正确,只是在内层循环中没有递增 j 的操作。修改后的代码如下:

def bubble(a):
    i = 0
    j = 0
    while i < len(a):
        i = i + 1
        j = 0  # 将 j 重置为 0
        while j < len(a) - i:
            if a[j] > a[j + 1]:
                temp = a[j + 1]
                a[j + 1] = a[j]
                a[j] = temp
            j = j + 1  # 递增 j
    return a

n = int(input('请输入排序的数字个数:'))
 i = 0
lst = []
while i < n:
    lst.append(int(input('请输入数字:')))
    i = i + 1
lst1 = bubble(lst)
print(lst1)

运行以上代码,程序将会接收用户输入的数字个数及具体数字,并使用冒泡排序算法对输入的数字进行排序,最后打印排序后的结果。

Python 冒泡排序算法实现及代码优化

原文地址: https://www.cveoy.top/t/topic/gV8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录