帮我写一个冒泡排序

vakeoifskc1年前 ⋅ 821 阅读
以下是Python实现的冒泡排序。

```python
def bubble_sort(arr):
    n = len(arr)
    for i in range(n - 1):
        # 如果没有交换过任何元素,则说明已完成排序,可以提前结束循环
        swapped = False
        for j in range(n - 1 - i):
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
                swapped = True
        if not swapped:
            break
    return arr
```

此算法首先从左到右迭代数组元素并比较相邻的两个元素。如果左侧元素大于右侧元素,则交换两者。在每个循环结束时,最大的元素都会“冒泡”到数组的末尾。算法重复此过程,比较和交换剩余的元素,直至所有元素都已排序。该算法时间

全部评论: 0

    相关推荐