Home > Uncategorized > 函数式编程

函数式编程

February 23rd, 2010

快速排序

  1. //纯算法,仅供研究,其实在浏览器下不快,js递归效率很差
  2. function qsort(arr){
  3.     if(!arr.length) return [];
  4.     var c = arr.shift();
  5.     return qsort(arr.filter(function(o){return o<=c?o:null}))
  6.         .concat([c])
  7.         .concat(qsort(arr.filter(function(o){return o>c?o:null})));
  8. }
  9. var a = [1,4,3,2,5,1,-1,3,2,4.5];
  10. alert(qsort(a));

月影 Uncategorized

  1. George Wing
    March 2nd, 2010 at 23:14 | #1

    看不太明白,先收藏了!

  2. March 14th, 2010 at 17:25 | #2

    filter是自定义的数组方法吗?

  3. akira
    March 14th, 2010 at 20:49 | #3

    @vapour

    JavaScript 1.7支持的方法