冒泡排序 ,选择排序,插入排序,去重

//定义一个数组

var arr = [2,4,7,5,3,8]

//循环遍历数组

for(var i<0;i<arr.length;i++){

  //二次循环

  for(var j=0;j<arr.length-i-1;j++){

   //一 一大小对比

     if(arr[j] > arr[j+1]){

      //值交换

      var temp = arr[j]

        arr[j] = arr[j+1]

        arr[j+1] = temp 

    }  

  }

}

alert(arr)  // 2,3,4,5,7,8

 

//选择排序


  var arr = [2,4,5,1,3];
  for(var i=0;i<arr.length;i++){
    var minIndex = i,
    min = arr[i];
    for(var j=i+1;j<arr.length;j++){
      if(arr[j] < min){  
        minIndex = j
        min = arr[j]
    }
  }
  if(minIndex != i){
  var temp =arr[i]
  arr[i] = arr[minIndex]
  arr[minIndex] = temp
  }
}
alert(arr)

//插入排序

  var arr = [1,9,6,8,3,4];
  function insertionSort (arr){
    var len = arr.length;
    var preIndex,current;
    for(var i=1;i<len;i++){
      preIndex = i-1;
      current = arr[i];
      while(preIndex >= 0 && arr[preIndex] > current){
        arr[preIndex+1] = arr[preIndex]
        preIndex--;
      }
      arr[preIndex+1] = current
    }
    return arr
  }
  console.log(insertionSort(arr3))

 //去重

var arr = [1,2,3,4,2,3,5];

Array.propotype.qc = function(){

  var res = [],

  jsona = {};

    for(var i=1;i<this.length;i++){

    if(!jsona[this[i]){

      res.push(this[i])

      jsona[this[i]] = 1;

    }

   }

  return res

}

console.log(arr.qc())

posted @ 2017-06-03 09:28  小菜波  阅读(242)  评论(0编辑  收藏  举报