# -*- coding: utf-8 -*- #--------------------------------------- # ç¨åºï¼å¿«éæåº # çæ¬ï¼ # ä½è ï¼WuChong # æ¥æï¼2014-02-08 # è¯è¨ï¼Python 3.3 # 说æï¼ #--------------------------------------- def quick_sort(ary): return qsort(ary,0,len(ary)-1) def qsort(ary,left,right): #å¿«æå½æ°ï¼aryä¸ºå¾ æåºæ°ç»ï¼leftä¸ºå¾ æåºç左边çï¼right为å³è¾¹ç if left >= right : return ary key = ary[left] #åæå·¦è¾¹ç为åºåæ° lp = left #å·¦æé rp = right #峿é while lp < rp : while ary[rp] >= key and lp < rp : rp -= 1 while ary[lp] <= key and lp < rp : lp += 1 ary[lp],ary[rp] = ary[rp],ary[lp] ary[left],ary[lp] = ary[lp],ary[left] qsort(ary,left,lp-1) qsort(ary,rp+1,right) return ary