用JavaScript实现排序算法

Posted 六叶草~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用JavaScript实现排序算法相关的知识,希望对你有一定的参考价值。

冒泡排序

冒泡排序就是重复从序列右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置。

JavaScript代码实现:

代码简介:声明一个数组变量,通过while给数组变量赋值,当输入“#”时停止输入,然后遍历相邻的两个数,让相邻的两个数升序排列,遍历n-1次实现排序;

 var a = Array();
    flag=true;
    var i = 0;
    var j = 0;
    var temp = 0;
    while(flag){
        var b = prompt("请输入第i个数字:");
        if(b=="#"){
          flag=false;
        }else{
            a[i] = b;
        }
        i++;
    }
   
    s = a.length;
    for(j=0;j<s;j++){
        console.log(a[j]); 
    }
    for(j=1;j<s;j++){
       for(i=0;i<s-j;i++){
           if(a[i]>a[i+1]){
                temp=a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
           }
       }
    }
    for(j=0;j<s;j++){
        console.log("升序:",a[j]); 
    }

输入3,4,2,8,6。输出结果如下:

选择排序

选择排序就是重复从待排序的数据中寻找最小值,将其与序列最左边的数字进行交换

JavaScript代码实现:

    var a = Array();
    flag=true;
    var i = 0;
    var j = 0;
    var temp = 0;
    while(flag){
        var b = prompt("请输入第i个数字:");
        if(b=="#"){
          flag=false;
        }else{
            a[i] = b;
        }
        i++;
    }
    s = a.length;
    for(j=0;j<s;j++){
        console.log("数组:",a[j]); 
    }
    for(i=0;i<s;i++){
        for(j=0;j<s;j++){
            if(a[i]>a[j]){
                temp = a[j];
                a[j] = a[i];
                a[i] = temp;
            }
        }
    }
    for(j=s-1;j>=0;j--){
        console.log("选择排序:",a[j]); 
    }

插入排序

插入排序算法:通过构建有序数组元素的存储,对未排序的数组元素,在已排序的数组中从最后一个元素向第一个元素遍历,找到相应位置并插入。

js代码实现:

var flag = true;
    var a = new Array();
    var i=0;
    while(flag){
        
        var s = prompt('请输入一个数:');
        if(s=='#'){
            flag=false;
        }else{
            a[i] = s;
        }
        i++;
    }
    console.log(a);
    for(var i=1;i<a.length;i++){
    for(var j = i;j>0;j--){
        if(a[j-1]>a[j]){
            var temp = a[j-1];
            a[j-1] = a[j];
            a[j] = temp;
        }
    }
}
for(var i=0;i<a.length;i++){
console.log(a[i]);
}

输入5,3,7,4,8,1,6。输出结果如下:

以上是关于用JavaScript实现排序算法的主要内容,如果未能解决你的问题,请参考以下文章

用JavaScript实现十大经典排序算法--快速排序

JavaScript实现常用的排序算法

快速排序算法的 JavaScript 实现

JavaScript算法(归并排序与快速排序)

7种基本排序算法的Java实现

2.排序算法实现(JavaScript版)-冒泡-选择-快速排序