我一直以为,c++已经够简洁的了,今天看了haskell的语法,写了一遍快排,这。。。
partation (x:xs) = partation (dropWhile (x<) xs)++(x:partation (takeWhile (x<) xs))
partation _=[]
main=print(partation [5,9,8,7,6,4,3,2,1])
dropWhile的意思是遍历参数数组 挑出不满足(x<t)的元素,takeWhile的意思相反。++代表两个数组合并,x:xs代表头元素和其他元素,递归调用,结果居然只用了两句话。