欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何利用JavaScript實(shí)現(xiàn)排序算法淺析

 更新時間:2021年11月03日 10:16:55   作者:六葉草~  
排序算法是筆試中經(jīng)常出現(xiàn)的,提起排序算法就一定要提下算法復(fù)雜度和大O表示法,算法復(fù)雜度是指算法在編寫成可執(zhí)行程序后,運(yùn)行時所需要的資源,資源包括時間資源和內(nèi)存資源,這篇文章主要給大家介紹了關(guān)于如何利用JavaScript實(shí)現(xiàn)排序算法的相關(guān)資料,需要的朋友可以參考下

冒泡排序

冒泡排序就是重復(fù)從序列右邊開始比較相鄰兩個數(shù)字的大小,再根據(jù)結(jié)果交換兩個數(shù)字的位置。

JavaScript代碼實(shí)現(xiàn):

代碼簡介:聲明一個數(shù)組變量,通過while給數(shù)組變量賦值,當(dāng)輸入“#”時停止輸入,然后遍歷相鄰的兩個數(shù),讓相鄰的兩個數(shù)升序排列,遍歷n-1次實(shí)現(xiàn)排序;

 var a = Array();
    flag=true;
    var i = 0;
    var j = 0;
    var temp = 0;
    while(flag){
        var b = prompt("請輸入第i個數(shù)字:");
        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。輸出結(jié)果如下:

選擇排序

選擇排序就是重復(fù)從待排序的數(shù)據(jù)中尋找最小值,將其與序列最左邊的數(shù)字進(jìn)行交換

JavaScript代碼實(shí)現(xiàn):

    var a = Array();
    flag=true;
    var i = 0;
    var j = 0;
    var temp = 0;
    while(flag){
        var b = prompt("請輸入第i個數(shù)字:");
        if(b=="#"){
          flag=false;
        }else{
            a[i] = b;
        }
        i++;
    }
    s = a.length;
    for(j=0;j<s;j++){
        console.log("數(shù)組:",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]); 
    }

插入排序

插入排序算法:通過構(gòu)建有序數(shù)組元素的存儲,對未排序的數(shù)組元素,在已排序的數(shù)組中從最后一個元素向第一個元素遍歷,找到相應(yīng)位置并插入。

js代碼實(shí)現(xiàn):

var flag = true;
    var a = new Array();
    var i=0;
    while(flag){
        
        var s = prompt('請輸入一個數(shù):');
        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。輸出結(jié)果如下:

總結(jié)

到此這篇關(guān)于如何利用JavaScript實(shí)現(xiàn)排序算法的文章就介紹到這了,更多相關(guān)js實(shí)現(xiàn)排序算法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論