中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
满城县| 旺苍县| 大同市| 将乐县| 普格县| 新田县| 缙云县| 林甸县| 青浦区| 临洮县| 吉木萨尔县| 颍上县| 连平县| 黔东| 郸城县| 平泉县| 志丹县| 茌平县| 商南县| 博客| 奉新县| 宜君县| 西城区| 宿州市| 方城县| 临清市| 德安县| 周宁县| 星子县| 呼玛县| 江源县| 静安区| 苗栗县| 京山县| 南汇区| 体育| 黄龙县| 武宣县| 长子县| 涪陵区| 泗阳县|