最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何利用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)文章

  • 用JS制作可交互的視頻進(jìn)度條的案例分享

    用JS制作可交互的視頻進(jìn)度條的案例分享

    這篇文章主要介紹了用JS制作可交互的視頻進(jìn)度條的案例,在開始制作視頻進(jìn)度條之前,想先給大家補(bǔ)充一些關(guān)于元素的一些特點(diǎn)和用法,為大家更好地理解接下來的分享,感興趣的朋友可以參考下
    2024-04-04
  • TypeScript 映射類型詳情

    TypeScript 映射類型詳情

    這篇文章主要介紹了TypeScript 映射類型詳情,一個類型需要基于另外一個類型, 又不想拷貝一份,這個時候可以考慮使用映射類型,映射類型建立在索引簽名的語法上,下面文章我們就從回顧下索引簽名展開TypeScript 映射類型的相關(guān)資料,需要的朋友可以參考一下
    2021-12-12
  • 通過JS判斷網(wǎng)頁是否為手機(jī)打開

    通過JS判斷網(wǎng)頁是否為手機(jī)打開

    這篇文章主要介紹了通過JS判斷網(wǎng)頁是否為手機(jī)打開,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Threejs與Tween.js結(jié)合創(chuàng)建動畫的詳細(xì)圖文教程

    Threejs與Tween.js結(jié)合創(chuàng)建動畫的詳細(xì)圖文教程

    three.js和tween.js可以一起使用,實(shí)現(xiàn)復(fù)雜的動畫效果,包括飛線動畫,這篇文章主要給大家介紹了關(guān)于Threejs與Tween.js結(jié)合創(chuàng)建動畫的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • 左側(cè)是表頭的JS表格控件(自寫,網(wǎng)上沒有的)

    左側(cè)是表頭的JS表格控件(自寫,網(wǎng)上沒有的)

    左側(cè)是表頭的JS表格大家有木有遇到過呀,實(shí)在是沒有發(fā)現(xiàn),于是自己動手豐衣足食,特獻(xiàn)上實(shí)現(xiàn)代碼與大家共享,有類似需求的朋友可以參考下哈
    2013-06-06
  • 用Fundebug插件記錄網(wǎng)絡(luò)請求異常的方法

    用Fundebug插件記錄網(wǎng)絡(luò)請求異常的方法

    這篇文章主要介紹了用Fundebug插件記錄網(wǎng)絡(luò)請求異常的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Javascript變量函數(shù)聲明提升深刻理解

    Javascript變量函數(shù)聲明提升深刻理解

    本文主要介紹了Javascript變量函數(shù)聲明提升深刻理解,Javascript變量函數(shù)聲明提升Hoisting是在Javascript中執(zhí)行上下文工作方式的一種認(rèn)識,更多相關(guān)知識需要的小伙伴可以參考下面文章詳細(xì)內(nèi)容
    2022-06-06
  • JavaScript實(shí)現(xiàn)網(wǎng)頁頭部進(jìn)度條刷新

    JavaScript實(shí)現(xiàn)網(wǎng)頁頭部進(jìn)度條刷新

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)網(wǎng)頁頭部進(jìn)度條刷新實(shí)例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-04-04
  • 微信小程序?qū)崿F(xiàn)豎排slider效果

    微信小程序?qū)崿F(xiàn)豎排slider效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)豎排slider效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • JavaScript判斷DOM何時加載完畢的技巧

    JavaScript判斷DOM何時加載完畢的技巧

    處理HTML DOM文檔存在一個難題是,JavaScript可以在DOM完全加載之前執(zhí)行,這會給你的代碼引發(fā)不少的潛在問題;針對這個問題,本文給予適當(dāng)?shù)慕鉀Q方法,僅供參考
    2012-11-11

最新評論

集安市| 淮北市| 洪江市| 潮安县| 太和县| 沁源县| 昌都县| 鄂伦春自治旗| 巩义市| 永州市| 德安县| 岳池县| 松江区| 兰州市| 鹿邑县| 临海市| 长兴县| 达拉特旗| 博兴县| 凌源市| 西乡县| 广元市| 松江区| 普安县| 三门县| 黄冈市| 健康| 襄城县| 兰坪| 龙川县| 通州市| 平远县| 加查县| 洛浦县| 孟连| 普兰县| 崇左市| 达州市| 炉霍县| 樟树市| 晋城|