码迷,mamicode.com
首页 > 编程语言 > 详细

python-实现快速排序

时间:2017-09-16 14:45:03      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:turn   print   utf-8   快速   blog   ret   pre   coding   实现   

# encoding=utf-8


def quick_sort(alist, start, end):
    """快速排序"""
    if start >= end:
        return

    mid = alist[start]
    left = start
    right = end

    while left < right:
        while left < right and alist[right] >= mid:
            right -= 1
        alist[left] = alist[right]
        while left < right and alist[left] < mid:
            left += 1
        alist[right] = alist[left]
    # 退出循环后, left于right重合,即相等
    alist[left] = mid

    quick_sort(alist, start, left-1)
    quick_sort(alist, left+1, end)


if __name__ == __main__:
    alist = [22, 1, 4, 553, 3, 212, 77]
    print(alist)
    quick_sort(alist, 0, len(alist)-1)
    print(alist)

 

python-实现快速排序

标签:turn   print   utf-8   快速   blog   ret   pre   coding   实现   

原文地址:http://www.cnblogs.com/wgDream/p/7531165.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!