演算法——python實現快速排序(二分法思想),python二分法
實現思路
將所需要的數字存入一個列表中
看你就明白了:
實現代碼
1 # coding: utf-8 2 # 快速排序,利用二分思想實現 3 4 5 def quick_sort(list, left, right): 6 if left > right: 7 return 8 temp = list[left] 9 i = left10 j = right11 while i != j:12 # 先從右向左尋找13 while list[j] >= temp and i < j:14 j -= 115 # 再從左向右尋找16 while list[i] <= temp and i < j:17 i += 118 if i < j:19 t = list[i]20 list[i] = list[j]21 list[j] = t22 # 基準數替換23 list[left] = list[i]24 list[i] = temp25 # 遞迴調用26 quick_sort(list, left, i - 1)27 quick_sort(list, i + 1, right)28 29 30 while True:31 list = []32 try:33 num = int(input('你想比較幾個數?\n'))34 except ValueError:35 continue36 for k in range(num):37 a = int(input('請輸入第' + str(k+1) + '個數:\n'))38 list.append(a)39 quick_sort(list, 0, num-1)40 print('排序結果為:')41 for l in range(len(list)):42 print(list[l], end=' ')43 print()
快速排序比較冒泡排序效率要高得多~