1. 程式人生 > >Python 演算法 - 快速排序

Python 演算法 - 快速排序

# coding=utf-8


# 快速排序
def quick_sort(lists, left, right):
    """
    通過一趟排序將要排序的資料分割成獨立的兩部分,其中一部分的所有資料都比另外一部分的所有資料都要小,
    然後再按此方法對這兩部分資料分別進行快速排序,整個排序過程可以遞迴進行,以此達到整個資料變成有序序列。

    :param lists: 
    :param left: 
    :param right: 
    :return:
    """
    if left >= right:
        return
lists val = lists[left] low = left high = right while left < right: while left < right and lists[right] >= val: right -= 1 lists[left] = lists[right] while left < right and lists[left] <= val: left += 1 lists[right] = lists[left] lists[right] = val quick_sort(lists, low, left - 1
) quick_sort(lists, left + 1, high) return lists