快排思路
簡單來說蛛枚,就是找一個key值作為參考值,每次都找第一個脸哀。然后蹦浦,用一個臨時變量存參考值,再從頭到尾撞蜂,逐個比較比參考值小的盲镶,換值,i++:從后往前蝌诡,比較比參考值大的溉贿,換值j?-。直到i=j退出
1浦旱、先從數(shù)列中取出一個數(shù)作為基準數(shù)
2宇色、分區(qū)過程,將比這個數(shù)大的數(shù)全放到它的右邊闽寡,小于或等于它的數(shù)全放到它的左邊
3代兵、再對左右區(qū)間重復(fù)第二步,直到各區(qū)間只有一個數(shù)
#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;