js 实现各种排序

一 冒泡排序

一万个随机数排序五次执行时间分别为 362 389 361 372 408 毫秒


  var arr=[];
  for(var j=0;j<10000;j++){
    arr.push(Math.floor(10*Math.random()));
  }
 var curr=+ new Date();
function bubble_Sort(arr){ //362 389 361 372 408
         for(var i=0;i<arr.length-1;i++){
           for(j=0;j<arr.length-1-i;j++){
              if(arr[j]>arr[j+1]){
              temp=arr[j];
               arr[j]=arr[j+1];
               arr[j+1]=temp;
              }
           }
         }
    }
    bubble_Sort(arr);
  console.log(+ new Date()-curr);

 二插入排序

一万个随机数排序五次执行时间分别为 62 62 68 65 102 毫秒

时间复杂度为O(n^2)是稳定的排序方法

var arr = [];
    for (var j = 0; j < 10000; j++) {
        arr.push(Math.floor(10 * Math.random()));
    }
    var curr = +new Date();

  function insert_Sort(arr) {//62 62 68 65 102
        for(var i=1;i<arr.length;i++) {
            var temp = arr[i];
            for (var j = i; j > 0 && arr[j - 1] > temp; j--) {
                arr[j] = arr[j - 1];
                arr[j - 1] = temp;

            }
        }
    }
    insert_Sort(arr);
    console.log(+new Date() - curr);

 

;
}
posted @ 2016-03-06 21:34  致敬科神  阅读(733)  评论(0编辑  收藏  举报