quicksort python lib


               
               
                #!/usr/bin/env python
from random import randrange as RANDOM
def split(A,low,high):
    priov = A[low]
    i     = low
    for j in range(low+1,high+1):
        if A[j] = priov :
            i = i + 1
            if i != j :
                A,A[j] = A[j],A
    A[low],A = A,A[low]
    return i
def random_split(A,low,high):
    i = RANDOM(low,high+1)
    A,A[low] = A[low],A
    return split(A,low,high)
def quicksort(A,low,high):
    if low  high :
        w = random_split(A,low,high)
        quicksort(A,low,w-1)
        quicksort(A,w+1,high)
if __name__ == '__main__':
    A = [1,5,3,9,2]
    low = 0
    high = len(A)-1
    print 'before quicksort,the sequence is %s'% A
    quicksort(A,low,high)
    print 'after quicksort ,the sequence is %s' % A