如何利用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實現排序算法的文章就介紹到這瞭,更多相關js實現排序算法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: