1 import random
2
3
4 def quick_sort(nums, start, end):
5 if start >= end:
6 return
7 low = start
8 mid = nums[low]
9 high = end
10 while low < high:
11 while low < high and mid <= nums[high]:
12 high -= 1
13 nums[low] = nums[high]
14 while low < high and mid > nums[low]:
15 low += 1
16 nums[high] = nums[low]
17 nums[low] = mid
18 quick_sort(nums, start, low - 1)
19 quick_sort(nums, low + 1, end)
20
21
22 def test_arr(count, limit):
23 arr = []
24 for i in range(count):
25 arr.append(random.randint(1, limit))
26 return arr
27
28
29 if __name__ == '__main__':
30 arr = test_arr(10, 100)
31 print('快速排序前:')
32 print(arr)
33 quick_sort(arr, 0, len(arr) - 1)
34 print('快速排序后:')
35 print(arr)