欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 前端技术 > javascript >内容正文

javascript

快速排序算法javascript实现 -尊龙游戏旗舰厅官网

发布时间:2024/10/12 javascript 23 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 快速排序算法javascript实现 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

  • function quicksort(arr){
  •   function q(start,end){
  •     if(start>=end){return;}
  •     var pivot = start,
  •     temp = arr[pivot],
  •     i = start 1;
  •     for(;i<=end;i ){
  •       if(arr[i]
  •         var s = arr.splice(i,1)[0];
  •         arr.splice(start,0,s);
  •         pivot ;
  •       }
  •     }
  •     q(start,pivot-1);
  •     q(pivot 1,end);
  •   }
  •   q(0,arr.length);
  •   return arr;
  • }
  • var arrs = [9,45,45,90,3,77,4,90];
  • var c = quicksort(arrs);
  • console.log(c);
  •  

    第3行的if(start>=end){return;},以这样的方式退出递归,我是这么考虑的。

    当子数组中剩两项时,分两种情况分析:

    (1)当子数组第一项(传递给参数start)比第二项(传递给参数end)小

      在函数q中先做了一遍调整,最后变量start指向第一项,变量pivot指向第一项,然后是:

      q(start,pivot-1);//此时start==pivot,故start>pivot-1,通过if(start>=end){return;}退出递归

      q(pivot 1,end);//此时pivot 1==end,同理退出递归

    (2)当第一项比第二项大

      在函数q中做一遍调整,最后变量start指向第一项,变量pivot指向第二项,然后:

      q(start,pivot-1);//此时start==pivot-1,退出递归

      q(pivot 1,end);//此时pivot 1>end;也退出递归

    转载于:https://www.cnblogs.com/followblade/p/4058301.html

    总结

    以上是尊龙游戏旗舰厅官网为你收集整理的快速排序算法javascript实现的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

    • 上一篇:
    • 下一篇:
    网站地图