冒泡排序和选择排序

会有一股神秘感。 提交于 2019-12-06 04:30:57

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

数组排序方法: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;
    }

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!