# -*- coding: utf-8 -*-
"""
Created on Sat May 6 11:32:07 2017
E-mail: Eric2014_Lv@sjtu.edu.cn
@author: DidiLv
python version: 3.5
"""
def quicksort(arr):
if len(arr) <= 1:
return arr
pivot = arr[int(len(arr) / 2)] # in version 3.5, we need to integer transform
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x== pivot]
right = [x for x in arr if x > pivot]
return quicksort(left) + middle + quicksort(right)
print(quicksort([3, 6, 8, 10, 1, 2, 1]))
结果:
[1, 1, 2, 3, 6, 8, 10]