# 快速排序,這種排序涉及到遞歸
# 思路:
# 1.先判斷列表的長度,如果>1,就要進行比較
# 2.取出列表中間元素,然後列表刪除掉中間元素
# 3.將列表其他元素和中間元素比較,大於中間元素的放在一個新的右邊列表,小於中間元素的放在一個新的左邊列表
# 4.然後返回 遞歸方法(左邊列表)+[mid]+ 遞歸方法(右邊列表)
# 如果列表的長度<=1,直接返回列表
# 這裡有個問題,[1]+[2],這是2個列表的拼接,得到[1,2]
def quick_sort(numbers):
if len(numbers) >= 2:
mid = numbers[len(numbers) // 2]
left = []
right = []
numbers.remove(mid)
for item in numbers:
if item >= mid:
right.append(item)
else:
left.append(item)
return quick_sort(left) + [mid] + quick_sort(right)
else:
return numbers
numbers = [1, 35, 87, 12, 45, 45,6]
print(quick_sort(numbers))
One . Preface 1. The project i
the other day , There are frie