python中的冒泡排序(仅使用while循环) def bubble_排序(列表): i=0 j=0 当i

python中的冒泡排序(仅使用while循环) def bubble_排序(列表): i=0 j=0 当i,python,python-3.x,python-requests,Python,Python 3.x,Python Requests,时,只需在第一个while循环内移动初始化j=0,如下所示。请注意,您还可以在Python中以更短的方式交换两个值,就像我所做的那样: def bubble_sort(alist): i = 0 j = 0 while i<len(alist): while j<(len(alist)-1-i): if alist[j]>alist[j+1]: temp = alist[j]

时,只需在第一个while循环内移动初始化
j=0
,如下所示。请注意,您还可以在Python中以更短的方式交换两个值,就像我所做的那样:

def bubble_sort(alist):
    i = 0
    j = 0
    while i<len(alist):
        while j<(len(alist)-1-i):
            if alist[j]>alist[j+1]:
                temp = alist[j]
                alist[j] = alist[j+1]
                alist[j+1] = temp
            j = j+1

        i = i + 1
    return alist 

abc = [54,26,93,17,77,31,44,55,20]
alist1 = bubble_sort(abc)
print(alist1)
def bubble_排序(a):
i=0

当i在某个点重置
j
时,请使用
对范围(n)中的i使用
循环,而不是
而使用
i+1
。而且python非常聪明,可以通过
a[j],a[j+1]=a[j+1],a[j]
来交换变量!
def bubble_sort(a):
    i = 0
    while i<len(a):
        j = 0
        while j<(len(a)-1-i):
            if a[j]>a[j+1]:
                a[j], a[j+1] = a[j+1], a[j]
            j = j+1  
        i = i + 1
    return a 

abc = [54,26,93,17,77,31,44,55,20]
alist1 = bubble_sort(abc)
print(alist1)   # [17, 20, 26, 31, 44, 54, 55, 77, 93]