在Python中使用ADT进行冒泡排序

问题描述 投票:0回答:1

我收到了一项作业,其中输入将是一个列表,我的任务是将列表按升序进行冒泡排序。这是我想要的输入和输出示例。

输入:

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代码和代码的解释,它可以为我提供与赋值中的输出完全相同的结果。

python data-structures bubble-sort abstract-data-type
1个回答
0
投票

代码来自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])

编辑:该网站有算法的解释

© www.soinside.com 2019 - 2024. All rights reserved.