冒泡排序和选择排序

冒泡排序和选择排序都是数组排序。

数组排序方法:sort()排序,字符的排序,逐位比较        

        arr.sort(function(a,b){
            return a-b;
          });
          console.log(arr);

a-b从小到大数值排序,b-a从大到小排序。

冒泡排序:两两比较。

案例:arr[5,7,4,8,3]

  确定比较次数
  0-1 1-2 2-3 3-4   0~length-1-0
  0-1 1-2 2-3      0~length-1-1
  0-1 1-2        0~length-1-2
  0-1           0~length-1-3
  length-1

       排序

  for(var i=0;i<arr.length-1;i++){
  for(var j=0;j<arr.length-1-i;j++){
    if(arr[j] > arr[j+1]){
      var ls = arr[j];
      arr[j] = arr[j+1];
      arr[j+1] = ls;
    }
    }
     }

选择排序:将第一位和后面所有相比较,最小的交换,放在第一位。

案例:arr[5,7,4,8,3]

分析:

0-1 0-2 0-3 0-4 0-5 0~length-1
1-2 1-3 1-4 1-5 1~length-1
2-3 2-4 2-5 2~length-1
3-4 3-5 3~length-1
4-5 4~length-1
length-1

排序:

  for(var i=0;i<arr.length-1;i++){
    var min = arr[i];
    var minIndex = i;
    for(var j=i+1;j<arr.length;j++){
      if(min > arr[j]){
      min = arr[j];
      minIndex = j;
    }
    }
      arr[minIndex] = arr[i];
      arr[i] = min;
    }

posted @ 2019-11-30 11:58  ws-233  阅读(124)  评论(0编辑  收藏  举报