def reverse_bubble_sort(arr): n = len(arr) # 外层循环控制轮次,每轮确定一个最小元素的位置 for i in range(n): swapped = False # 内层循环从末尾向前遍历,范围逐渐缩小 # 已排好序的最小元素在前端,因此右侧边界逐渐左移 for j in range(n-1, i, -1): # 若前一个元素(左侧)大于后一个元素(右侧),则交换 # 目的是将较小的元素向左移动(冒泡到前面) if arr[j-1] > arr[j]: arr[j-1], arr[j] = arr[j], arr[j-1] swapped = True # 若本轮无交换,说明数组已有序,提前退出 if not swapped: break return arr # 测试 arr = [64, 34, 25, 12, 22, 11, 90] print("排序前:", arr) print("逆向冒泡排序后(升序):", reverse_bubble_sort(arr))

视频信息