【龙8游戏】冒泡排序和选择排序的实现代码,JavaScript实现各种排序的代码详解

冒泡排序和选择排序的实现代码,冒泡排序、选择排序、插入排序的代码,以上所述是小编给大家介绍的JavaScript,以上所述是小编给大家介绍的JavaScript实现各种排序的代码详解,选择排序,小编会及时回复大家的

废话不多说了,直接给大家贴代码了,具体代码如下所述:

冒泡排序

var array = [1,2,3,4,5]; // ---> 服务
//效率 ---> 针对一个有序的数组 效率最高
//标志 true false 
for(var j = 0; j < array.length - 1;j++ ){
//- j 每次排序完成之后 后面减少比较的次数
var isTrue = true; //如果数组本身就是升序,则直接输出
for(var i = 0; i < array.length - j - 1;i++){
if(array[i] > array[i+1])
{
var temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
isTrue = false;
}
}
document.write(array);
if(isTrue){
break;
}
}


var array = [12,34,4,6,20];
//length - 1 j = 0 - length - 1
for(var j = 0; j < array.length - 1;j++){
var min = array[j]; // 1 3 34 4 345 5
var minIndex = j;
for(var i = j + 1; i < array.length;i++){
if(array[i] < min){
min = array[i];
minIndex = i;
}
}
if(minIndex != j){
var temp = array[minIndex];
array[minIndex] = array[j];
array[j] = temp;
}
}
 function Bubble(arr){
    var temp;
    for(var i=0;i<arr.length-1;i++){
      for(var j=i+1;j<arr.length;j++){
        if(arr[i]>arr[j]){
          temp=arr[i];
          arr[i]=arr[j];
          arr[j]=temp;
        }
      }
    }
    return arr;
  }
  console.log(Bubble([2,5,1,0,6,2]))  //[0,1,2,2,5,6]

下面在看下Javascript实现三种排序:冒泡排序、选择排序、插入排序的代码

选择排序

<script type="text/javascript">
    var a;
    a = [66, 53, 11, 5, 4, 3, 2, 1];
    /*冒泡排序*/
    (function maopaopaixu() {
      for (var i = 0; i < a.length - 1; i++) {//比较的次数是length-1
        for (var j = 0; j < a.length - 1 - i; j++) {
          if (a[j] > a[j + 1]) {
            var tmp = a[j];
            a[j] = a[j + 1];
            a[j + 1] = tmp;
          }
        }
      }
      alert(a);
    })();
    a = [66, 53, 11, 5, 4, 3, 2, 1];
    /*选择排序*/
    (function xuanzepaixu() {
      var min/*最小项的索引*/, tmp;
      for (var out = 0; out < a.length - 1; out++) {//比较的次数是length-1
        min = out;
        for (var inner = out + 1; inner < a.length; inner++) {//这里是a.length,不是a.lenght-1,因为后者会导致右数第2项没法参与排序。
          if (a[inner] < a[min]) {
            min = inner;
          }
          //将最小的项移动到左侧
          tmp = a[out];
          a[out] = a[min]
          a[min] = tmp;
        }
      }
      alert(a);
    })();
    a = [66, 53, 11, 5, 4, 3, 2, 1];
    /*插入排序*/
    (function charupaixu() {
      for (var out = 1; out < a.length; out++) {
        var tmp = a[out];
        var inner = out;
        while (a[inner - 1] > tmp) {
          a[inner] = a[inner - 1];
          --inner;
        }
        a[inner] = tmp;
      }
      alert(a);
    })();
  </script>
function selctor(arr){
    var min;
    for(var i=0;i<arr.length-1;i++){
      min=i;
      //依次找到为最小值的索引
      for(var j=i+1;j<arr.length;j++){
        if(arr[min]>arr[j]){
          min=j;
        }
      }
      //如果最小值不在当前位置上 就交换到位置i
      if(min!=i){
        swap(arr,min,i)
      }
    }
    return arr
  }
  function swap(arr,index1,index2) {
    var temp=arr[index1];
    arr[index1]=arr[index2];
    arr[index2]=temp;
  }

以上所述是小编给大家介绍的JavaScript
冒泡排序和选择排序的实现代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家!

插入排序

您可能感兴趣的文章:

  • javascript中数组的冒泡排序使用示例
  • js实现数组冒泡排序、快速排序原理
  • js交换排序
    冒泡排序算法(Javascript版)
  • js 排序动画模拟 冒泡排序
  • JS实现冒泡排序,插入排序和快速排序并排序输出
  • 分享javascript实现的冒泡排序代码并优化
  • js基本算法:冒泡排序,二分查找的简单实例
  • js sort
    二维数组排序的用法小结
  • JavaScript自定义数组排序方法
  • javascript数组排序汇总
  • JavaScript数组基于交换的排序示例【冒泡排序】
 function insert(arr){
    var j,key;
   for(var i=1;i<arr.length;i++){
     j=i;
     key=arr[i];
     while(--j>-1){
       if(arr[j]>key) {
         arr[j + 1] = arr[j];
       }else{
         break;
       }
     }
     arr[j+1]=key;
   }
   return arr
  }

总结

以上所述是小编给大家介绍的JavaScript实现各种排序的代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

  • JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
  • js交换排序
    冒泡排序算法(Javascript版)
  • javascript中数组的冒泡排序使用示例
  • js 排序动画模拟 冒泡排序
  • JavaScript
    冒泡排序和选择排序的实现代码
  • 使用Javascript实现选择下拉菜单互移并排序
  • javascript数据结构之双链表插入排序实例详解
  • JS实现冒泡排序,插入排序和快速排序并排序输出
  • js排序动画模拟-插入排序