zoukankan      html  css  js  c++  java
  • Python 快速排序(QuickSort)

    一、 算法描述:

    先从数列中取出一个数作为基准数。

    分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。

    再对左右区间重复第二步,直到各区间只有一个数。

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    def sub_sort(array,low,high):
        key = array[low]
        while low < high:
            while low < high and array[high] >= key:
                high -= 1
            while low < high and array[high] < key:
                array[low] = array[high]
                low += 1
                array[high] = array[low]
        array[low] = key
        return low
    
    def quick_sort(array,low,high):
         if low < high:
            key_index = sub_sort(array,low,high)
            quick_sort(array,low,key_index)
            quick_sort(array,key_index+1,high)
    
    if __name__ == '__main__':
        array = [8,10,9,6,4,16,5,13,26,18,2,45,34,23,1,7,3]
        print array
        quick_sort(array,0,len(array)-1)
        print array
    
  • 相关阅读:
    浅谈Charles —— 青花瓷
    jdbc
    装饰者模式
    java可变参数
    简单日历
    DVD管理系统
    图片拷贝
    时间输出
    java基础小知识
    jQuery HTML
  • 原文地址:https://www.cnblogs.com/wangyiyang/p/12192299.html
Copyright © 2011-2022 走看看