谁能帮我看看这个冒泡程序为什么输出结果不对?
Topic sourcedef 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
遥云千鲤河
# -*- 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]