我收到了一项作业,其中输入将是一个列表,我的任务是将列表按升序进行冒泡排序。这是我想要的输入和输出示例。
输入:
45 22 34 79 23
输出:
22 45 34 79 23
22 34 45 79 23
22 34 45 79 23
22 34 45 23 79
22 34 45 23 79
22 34 45 23 79
22 34 23 45 79
22 34 23 45 79
22 23 34 45 79
22 23 34 45 79
但是我尝试了一段代码但它不起作用,我尝试过:
l = list(map(int, input().split()))
swapped = True
while swapped:
swapped = False
for i in range(len(l) - 1):
if l[i] > l[i + 1]:
l[i] , l[i + 1] = l[i + 1], l[i]
swapped = True
print(*l)
我只是想知道Python代码和代码的解释,它可以为我提供与赋值中的输出完全相同的结果。
代码来自https://www.programiz.com/dsa/bubble-sort
def bubbleSort(array):
for i in range(len(array)):
for j in range(0, len(array) - i - 1):
if array[j] > array[j + 1]:
temp = array[j]
array[j] = array[j+1]
array[j+1] = temp
print(*array)
bubbleSort([45,22,34,79,23])
编辑:该网站有算法的解释