看清楚了,不要眨眼睛,一定要收藏,方便大家以后装逼以及和别的语言撕逼
qsort=(l)->if l.length== 0 then l else qsort(l[1..].filter (x)->x<l[0]).concat l[0],qsort(l[1..].filter (x)->x>l[0])
解释:如果为空直接返回,如果比第一个数小的数组放到左边并递归,第一个数放到中间,比第一个数大的数组放到右边并递归
测试(非常完美):
qsort [1,5,3,4,5,10,-2,6,-12,41,1,5,1,-2,-13,12]/*return [-13, -12, -2, 1, 3, 4, 5, 6, 10, 12, 41]*/
qsort []/*return []*/
结论:就是这么牛逼,有更短的快速排序,用coffeescript写的,coffeescript就是一系列javascript的语法糖,谁还敢说javascript的不是。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。