Discuss / Python / 谁能帮我看看这个冒泡程序为什么输出结果不对?

谁能帮我看看这个冒泡程序为什么输出结果不对?

Topic source

# -*- coding:utf-8 -*-

#冒泡排序(从小到大):

def BubbleSort(L) :

    i = 0

    while i < len(L)-1 :

        min = L[i]

        for j , value in enumerate(L[i + 1 :]) :

            if min > value :

                m = L[i]

                L[i] = value

                L[i + j + 1] = m 

            else:

                continue

        i = i + 1

    return(L)

print(BubbleSort([5,4,3,2,1]))

print(BubbleSort([2,5,3,7,4]))

#输出:

    # [1, 2, 3, 4, 5]

    # [2, 4, 3, 5, 7]

贴心的-剑

#2 Created at ... [Delete] [Delete and Lock User]

def BubbleSort(L) :

    i = 0

    while i<len(L)-1:

        for j , value in enumerate(L[i + 1 :]) :

            if L[i] > value :

                L[i + j + 1] = L[i]

                L[i] = value

            else:

                continue

        i+=1

    return(L)

print(BubbleSort([5,4,3,2,1]))

print(BubbleSort([2,5,3,7,4]))

#输出

#[1, 2, 3, 4, 5]

#[2, 3, 4, 5, 7]

兄弟,我是个小白,你害我想半天!!!别搞那么多变量,花里胡哨的,看得我头晕


  • 1

Reply