# -*- coding: gb2312 -*- # 交换数值 def swap(arr, i, j): temp = arr[i] arr[i] = arr[j] arr[j] = temp # 快速排序 def quickSort(arr, left, right): if left < right: key = arr[(left + right) / 2] i = left j = right while True: while True: if arr[i] >= key: break i += 1 while True: if arr[j] <= key: break j -= 1 if i >= j: break swap(arr, i, j) quickSort(arr, left, i - 1) quickSort(arr, j + 1, right) if "__main__" == __name__: arr = [4, 2, 1, 3, 5] print "arr: ", arr quickSort(arr, 0, len(arr) -1) print "sort arr: ", arr
输出:
arr: [4, 2, 1, 3, 5] sort arr: [1, 2, 3, 4, 5]