亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

python實現快速排序的示例(二分法思想)

小云
94
2023-08-17 13:58:40
欄目: 編程語言

下面是一個使用遞歸方法實現快速排序的示例代碼:

def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
less = [x for x in arr[1:] if x <= pivot]
greater = [x for x in arr[1:] if x > pivot]
return quick_sort(less) + [pivot] + quick_sort(greater)
# 示例用法
arr = [5, 2, 9, 1, 8, 6, 3, 7, 4]
sorted_arr = quick_sort(arr)
print(sorted_arr)

輸出結果為:[1, 2, 3, 4, 5, 6, 7, 8, 9]

在快速排序中,通過選擇一個元素作為基準(pivot),將數組分為兩個子數組,一個子數組中的元素小于等于基準,另一個子數組中的元素大于基準。然后對這兩個子數組進行遞歸排序,最終得到排序后的數組。

在示例代碼中,選擇第一個元素作為基準,然后使用列表解析將小于等于基準的元素放入less列表,將大于基準的元素放入greater列表。最后遞歸對lessgreater進行快速排序,并將結果與基準元素合并返回。

0
江达县| 柳州市| 尚志市| 梧州市| 弥勒县| 安顺市| 凤冈县| 中方县| 云林县| 横山县| 山东省| 油尖旺区| 京山县| 新昌县| 会理县| 德清县| 子洲县| 金门县| 德庆县| 嫩江县| 达州市| 鹤壁市| 水城县| 九龙坡区| 大兴区| 开江县| 南部县| 三江| 石景山区| 三河市| 读书| 大竹县| 潮安县| 樟树市| 富锦市| 承德市| 张掖市| 公安县| 买车| 南部县| 二连浩特市|