用python实现快速排序算法。
#! /usr/bin/env python #coding=utf-8 #authur: CH #e-mail: chuanwusun@gmail.com #description: 快速排序。 def QUICKSORT(Arr,p,r): if p<r: q = PARTITION(Arr,p,r) QUICKSORT(Arr,p,q-1) QUICKSORT(Arr,q+1,r) def PARTITION(Arr,p,r): i=p j=p k=0 while j<r: if Arr[j]<=Arr[r]: k=Arr[i] Arr[i]=Arr[j] Arr[j]=k i=i+1 j=j+1 printinfo(Arr) if Arr[j]>Arr[r]: j=j+1 k=Arr[i] Arr[i]=Arr[j] Arr[j]=k return i def printinfo(Arr): i=0 print Arr[0],Arr[1],Arr[2],Arr[3],Arr[4],Arr[5],Arr[6],Arr[7] if __name__ == '__main__': file=open("foo.txt") line=file.readline() tmp=line.split() tmp=map(int, tmp) QUICKSORT(tmp,0,7) printinfo(tmp)
测试数据如下,放在foo.txt里:
2 8 7 1 3 5 6 4
个人博客: http://feigongkai.com