写个快速排序吧~

    技术2022-07-13  94

    def quick_sort(arr): if not arr or len(arr) == 1: return arr k, new_arr = partition(arr) return quick_sort(new_arr[:k]) + [new_arr[k]] + quick_sort(new_arr[k + 1 :]) # 保证子序列一定严格小于原序列 def partition(arr): tmp = arr[-1] i, j = 0, 0 while j < len(arr): if arr[j] <= tmp: arr[j], arr[i] = arr[i], arr[j] # 交换 i += 1 j += 1 return i - 1, arr # 保证分界点 i - 1 上的值一定是 tmp arr1 = [] arr2 = [2] arr3 = [2, 1] arr4 = [10, 9, 8, 11, 8, 1, 104, 7, 8, 3, 1] for arr in [arr1, arr2, arr3, arr4]: sorted_arr = quick_sort(arr) print(sorted_arr)
    Processed: 0.025, SQL: 9