欢迎访问响应式个人博客!
男生版
女生版
初遇时,她的微笑,她往日的深情、承诺和傻劲,两个人共度的美丽时刻,一一印在回忆里,今天的感情已经比不上从前,但是我爱着恋着往日的她,舍不得离开!
排行
详情
您当前的位置>首页 > 正文
常见算法是js实现汇总
2017-10-24 14:42:03   来源:总结   评论:0 点击:

                        }

                    }    

                    array[tem + step ] = key;

                }

            }

        }

        return array;

}

 

/*快速排序*/

其实说到底快速排序算法就系对冒泡排序的一种改进,采用的就是算法理论中的分治递归的思想,说得明白点,它的做法就是:通过一趟排序将待排序的纪录分割成两部分,其中一部分的纪录值比另外一部分的纪录值要小,就可以继续分别对这两部分纪录进行排序;不段的递归实施上面两个操作,从而实现纪录值的排序。

这么说可能不是很清晰,直接上代码:

<script>

function sort(arr){

   return quickSort(arr,0,arr.length-1);

   function quickSort(arr,l,r){

       if(l

          var mid=arr[parseInt((l+r)/2)],i=l-1,j=r+1;

          while(true){

          //大的放到右边,小的放到左边, i与j均为游标

            while(arr[++i]

            while(arr[--j]>mid);

            if(i>=j)break;//判断条件

            var temp = arr[i];

            arr[i]=arr[j];

            arr[j]=temp;

          } 

          quickSort(arr,l,i-1);

          quickSort(arr,j+1,r);

       }

      return arr;

   }

}

function main(){

  var list=new Array(49,38,65,97,76,13,27);

  document.write(sort(list).valueOf());

}

main();

</script>

原理图:

 

/*冒泡法*/

function bullSort(array){

 var temp;

 for(var i=0;i

   for(var j=array.length-1;j>i;j--){

     if(array[j]

       temp = array[j];

       array[j]=array[j-1];

       array[j-1]=temp;

     }

   }

 }

 return array;

}

 

/*js递归实现方案*/

递归函数是在一个函数通过调用自身的情况下去解决的:

方式如下:

function factorial(num){

    if(num<=1){

    return 1; 

   }else{

    return num*factorial(num-1);

   }

}

但是这在js里面可能会出现错误:

var anotherFactorial = factorial;

factorial=null;

alert(anoterFactorial(4));

因为在调用anoterFactorial时内部的factorial已经不存在了。

解决方法是通过arguments.callee来解决。

如下:

function factorial(num){

  if(num<=1){

   return 1;

  }else{

  return num*arguments.callee(num-1);  

}

var anotherFactorial = factorial;

factorial = null;

alert(anotherFactorial(4));

成功!!!!

}

 

/**js模拟多线程**/

 

<script LANGUAGE="JavaScript">

相关热词搜索:算法 常见

上一篇:JS地址栏动态传参查询的方法
下一篇:JavaScript里的循环方法

收藏