面试官:手写一个快排吧~
快排思路,分治的思想
-
选择基准值
-
每遍历一次数组,将数组元素分为 【小于基准值的】【大于基准值的】
对【】【】递归调用上述操作即可完成排序
数组元素为1直接返回
def quick_sort(arr):
if len(arr) >= 2:
key = arr[len(arr) // 2] # 选取基准值
right, left = [], [] # 定义左右两侧数组
arr.remove(key) # 从原数组中移除基准值
for i in arr:
if i < key:
left.append(i)
else:
right.append(i)
return quick_sort(left) + [key] + quick_sort(right)
else:
return arr
arr = [2, 3, 5, 7, 188, 4, 6, 15, 5, 2, 7, 9, 10, 15, 9, 17, 12]
arr = quick_sort(arr)
print(arr)
重生之八股仙帝 文章被收录于专栏
曾有一千古奇人,精修八股文,成遁世之高人,彻天彻地畅游天地间。 今人皆忙忙,急于求成,岂不知八股乃道门口径,背负天人,若经熟读背诵,更能开拓智慧之门,探寻未来之路。 天下繁华,不尽长夜,唯有读书为伴,熟读八股文更是攀登高峰之路。磨砺文字,升腾智慧,唯有勤玉立志,始可破天荒,登临九重不竭之巅! 吾辈修炼之路,虽曲折荆棘,但信念不曾磨灭,唯有铭记八股精髓,方能指引灵魂归宿,成就一生辉煌!