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

排序算法之快速排序

时间:2019-05-27 20:50:22      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:pytho   pointer   python   __name__   fir   快速排序   int   name   测试   

#-*-coding:utf-8 -*-

import random

def quick_sorted(alist,first,last):
    if first >= last:
        return
    else:
        left_pointer = first
        right_pointer = last
        mid_value = alist[first]
        while left_pointer < right_pointer:
            while left_pointer < right_pointer and alist[right_pointer] >= mid_value:
                right_pointer -= 1
            alist[left_pointer] = alist[right_pointer]
            while left_pointer < right_pointer and alist[left_pointer] <= mid_value:
                left_pointer += 1
            alist[right_pointer] = alist[left_pointer]
        alist[left_pointer] = mid_value
        quick_sorted(alist,first,left_pointer-1)
        quick_sorted(alist,left_pointer+1,last)

if __name__ == __main__:
    alist = [random.randint(1,100) for _ in range(30)]
    print(alist)
    quick_sorted(alist,0,len(alist)-1)
    print(alist)

使用Python写的快排,测试数据是30个1到100之间的整数列表。

排序算法之快速排序

标签:pytho   pointer   python   __name__   fir   快速排序   int   name   测试   

原文地址:https://www.cnblogs.com/yrzsp/p/10933000.html

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