##快排思路
簡單來說,就是找一個key值作爲參考值,每次都找第一個。然後,用一個臨時變量存參考值,再從頭到尾,逐個比較比參考值小的,換值,i++:從後往前,比較比參考值大的,換值j−-。直到i=j退出
1、先從數列中取出一個數作爲基準數
2、分區過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊
3、再對左右區間重複第二步,直到各區間只有一個數
#coding=utf-8
import sys
import math
def partion(nums,left,right): #partion
key = nums[left];
low = left;
high = right;
while low < high:
while(low < high) and (nums[high] >=key):
high = high -1;
nums[low] = nums[high];
while(low < high) and (nums[high] <=key):
low = low +1;
nums[high] = nums[low];
nums[low] = key;
return low
def quicksort(nums,left,right):#quicksort
if left<right:
p = partion(nums,left,right);
quicksort(nums,left,p-1);
quicksort(nums,p+1,right);#遞歸操作
return nums;
if __name__ == "__main__":
a= raw_input();
nums=[];
for i in a.split(' '):
nums.append(int(i));
right = len(nums)-1;
left = 0;
ans = quicksort(nums,left,right);
print ans;