python冒泡排序代码

冒泡排序是一种简单的排序算法,它会多次遍历待排序的元素,比较相邻的两个元素,并在必要时交换它们的位置。这个过程持续重复,直到整个数组排序完成。

python
def bubble_sort(arr): n = len(arr) # 遍历所有数组元素 for i in range(n): # 最后 i 个元素已经排好序,不需要再比较 for j in range(0, n - i - 1): # 交换元素,使较大的元素浮动到右侧 if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] # 示例使用 if __name__ == "__main__": # 待排序的数组 my_array = [64, 34, 25, 12, 22, 11, 90] # 调用冒泡排序函数 bubble_sort(my_array) # 打印排序后的数组 print("排序后的数组:", my_array)

这个示例中,bubble_sort 函数接受一个数组作为参数,并对其进行冒泡排序。在示例中,数组 [64, 34, 25, 12, 22, 11, 90] 经过排序后,打印出的结果为 [11, 12, 22, 25, 34, 64, 90]

python
def bubble_sort(arr, reverse=False): n = len(arr) # 遍历所有数组元素 for i in range(n): # 最后 i 个元素已经排好序,不需要再比较 for j in range(0, n - i - 1): # 根据 reverse 参数判断是升序还是降序 if reverse: if arr[j] < arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] else: if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] # 示例使用 if __name__ == "__main__": # 待排序的数组 my_array = [64, 34, 25, 12, 22, 11, 90] # 调用冒泡排序函数 bubble_sort(my_array) print("升序排序后的数组:", my_array) # 调用冒泡排序函数 bubble_sort(my_array, reverse=True) print("降序排序后的数组:", my_array)

在这个例子中,bubble_sort 函数新增了一个参数 reverse,默认为 False,表示升序排列。如果设置为 True,则表示降序排列。在排序后,打印出升序和降序排列的结果。

标签