1 from random import randint 2 3 4 def bubble_sort(number, i, j): 5 global flag # 只要第一次输出结果 6 7 if i == len(number): # 主要从1---len-1 是len-1次外循环 可了 8 if flag == 0: 9 print(number) 10 flag = 1 11 return 12 ''' 13 for j in range(0, len(number) - i): 14 if number[j] > number[j + 1]: 15 swap(number, j, j + 1)''' 16 if j < len(number) - i: 17 if number[j] > number[j + 1]: 18 swap(number, j, j + 1) 19 bubble_sort(number, i, j + 1) # 内循环 递归 20 j = 0 # 每次外循环的时候,需要从头开始循环呗 21 bubble_sort(number, i + 1, j) # 额,这个主要对 外循环进行了递归 22 23 24 def swap(arr, i, j): 25 arr[i], arr[j] = arr[j], arr[i] 26 27 28 flag = 0 29 n = int(input('请输入元素个数: ')) 30 nums = [randint(1, 101) for i in range(n)] 31 bubble_sort(nums, 1, 0)