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

python之排序算法

时间:2017-04-26 13:03:23      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:bin   art   imp   dom   odi   列表   div   name   bsp   

 

 

 

快速排序

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import random,time

def quick_sort(array,left,right):
    ‘‘‘
    :param array:
    :param left: 列表的第一个索引
    :param right: 列表最后一个元素的索引
    :return:
    ‘‘‘
    if left >=right:
        return
    low = left
    high = right
    key = array[low] #第一个值

    while low < high:#只要左右未遇见
        while low < high and array[high] > key: #找到列表右边比key大的值 为止
            high -= 1
        #此时直接 把key(array[low]) 跟 比它大的array[high]进行交换
        array[low] = array[high]
        array[high] = key
        while low < high and array[low] <= key : #找到key左边比key大的值
            low += 1
            #找到了左边比k大的值 ,把array[high](此时应该刚存成了key) 跟这个比key大的array[low]进行调换
        array[high] = array[low]
        array[low] = key
    quick_sort(array,left,low-1) #最后用同样的方式对分出来的左边的小组进行同上的做法
    quick_sort(array,high+1, right)#用同样的方式对分出来的右边的小组进行同上的做法


if __name__ == ‘__main__‘:
    array = [96,14,10,9,6,99,16,5,1,3,2,4,1,13,26,18,2,45,34,23,1,7,3,22,19,2]
    #print(array)
    time_start = time.time()
    quick_sort(array,0,len(array)-1)
    time_end = time.time()
    print time_end -time_start
    print array

 

python之排序算法

标签:bin   art   imp   dom   odi   列表   div   name   bsp   

原文地址:http://www.cnblogs.com/kongzhagen/p/6767816.html

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