首页 > 编程语言 > 详细

python实现快速排序

时间:2017-10-18 14:36:02      阅读:283      评论:0      收藏:0      [点我收藏+]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def quick_sort(arr):
    l = len(arr)
    _quick_sort(arr, 0, l -1)
tmp = 0
def _quick_sort(arr, start, end):
    print  start,end
    if start >= end:
        return
    middle = partition(arr, start, end)
    _quick_sort(arr, start, middle - 1)
    _quick_sort(arr, middle + 1, end)

def partition(arr, start, end):
    i = (start+end)/2
    while(start < end):
        while(start < end and arr[start] <= arr[i]):
            start = start + 1
        while(start < end and arr[end] >= arr[i]):
            end = end - 1
        if start < end:
            arr[start], arr[end] = arr[end], arr[start]
    if start > i and  start - 1 != i :
        arr[start -1],arr[i] = arr[i], arr[start - 1]
        i = start -1
    elif start < i :
        arr[start], arr[i] = arr[i], arr[start]
        i = start
    return i

arr = [1,3,9,3,4,8,8,9]
quick_sort(arr)

  

python实现快速排序

原文:http://www.cnblogs.com/fengfengtk/p/7686433.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!