成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

javascript 數(shù)組排序(sort,冒泡)

2501207950 / 2670人閱讀

摘要:標簽空格分隔數(shù)組排序一的方法如上面代碼,按照正序由小到大排列。通常規(guī)定,如果則返回如果則返回如果則返回倒序相反。

標簽(空格分隔): 數(shù)組排序

一、js的sort()方法

var arr = [10, 20, 1, 2];
arr.sort(function(a,b){
    if(ab){
       return 1;
    }
    return 0;
})
console.log(arr); //[1, 2, 10, 20]

如上面代碼,按照正序(由小到大)排列。通常規(guī)定,如果ab,則返回1;如果a==b,則返回0;

倒序相反。

var arr = [10, 20, 1, 2];
arr.sort(function(a,b){
    return a-b;
})
console.log(arr); //[20, 10, 2, 1]

該段排序代碼效果同上段代碼

二、冒泡排序

var arr = [10, 20, 1, 2];
var t;
for(var i=0;iarr[j]){
            //交換
            t=arr[i];  //第一個數(shù)
            arr[i]=arr[j]; //第一個數(shù) 和 比它后面小的數(shù) 交換位置
            arr[j]=t; //后面小的數(shù) 就成了數(shù)組里前面的數(shù)
        }
    }
}
console.log(arr);  //[1, 2, 10, 20]

三、二維數(shù)組的排序(sort,冒泡)

1.二維數(shù)組使用sort()方法排序

var arr=[
    ["北京",80],
    ["上海",50],
    ["福州",10],
    ["廣州",50],
    ["成都",70],
    ["西安",100],
];
arr.sort(function(a,b){
    if(a[1]b[1]){
       return 1;
    }
    return 0;
})
console.log(arr);  //["福州",10],["上海",50],["廣州",50],["成都",70],["北京",80],["西安",100]

2.二位數(shù)組的冒泡排序

var arr=[["北京",80],["上海",50],["福州",10],["廣州",50],["成都",70],["西安",100]];
var t;
for(var i=0;iarr[j+1][3]){
            t=arr[j][4];
            arr[j][5]=arr[j+1][6];
            arr[j+1][7]=t;
        }
    }
}
console.log(arr);  //["福州",10],["上海",50],["廣州",50],["成都",70],["北京",80],["西安",100]

最后,還有一個這樣的寫法
順口溜:

一組數(shù)據(jù)來排序,

兩兩比較小靠前,

外層循環(huán)n-1,

內(nèi)層循環(huán)n-1-i,

例:

//冒泡排序

    //比較的輪數(shù)
    var price=[10,12,8,15,18];
    for(i=0;iprice[j+1]){
                //交換
                var temp;
                temp=price[j];
                price[j]=price[j+1];
                price[j+1]=temp;
            }
        }
    }
    console.log(price);

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/105135.html

相關(guān)文章

  • JavaScript 排序算法圖解(JavaScript sorting algorithms)

    摘要:基礎(chǔ)構(gòu)造函數(shù)以下幾種排序算法做為方法放在構(gòu)造函數(shù)里。代碼圖解選擇排序選擇排序算法是一種原址比較排序算法。它的性能通常比其他的復(fù)雜度為的排序算法要好。代碼劃分過程圖解排序沒有定義用哪個排序算法,所以瀏覽器廠商可以自行去實現(xiàn)算法。 基礎(chǔ)構(gòu)造函數(shù) 以下幾種排序算法做為方法放在構(gòu)造函數(shù)里。 function ArrayList () { var array = []; // 交換位置...

    h9911 評論0 收藏0
  • JS數(shù)據(jù)結(jié)構(gòu)與算法_排序和搜索算法

    摘要:上一篇數(shù)據(jù)結(jié)構(gòu)與算法樹寫在前面這是學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的最后一篇博客,也是在面試中常常會被問到的一部分內(nèi)容排序和搜索。 上一篇:JS數(shù)據(jù)結(jié)構(gòu)與算法_樹 寫在前面 這是《學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法》的最后一篇博客,也是在面試中常常會被問到的一部分內(nèi)容:排序和搜索。在這篇博客之前,我每每看到排序頭就是大的,心里想著類似冒泡排序,兩層遍歷啪啪啪就完事了,然后再也無心去深入研究排序相...

    姘擱『 評論0 收藏0
  • JavaScript 版各大排序算法

    摘要:推薦一下,,這里還有個可視化的排序博客,各大排序算法的實現(xiàn)都栩栩如生。堆排序堆排序是指利用堆這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計的一種排序算法。共勉參考維基百科排序搜索聊一聊排序算法秒殺種排序算法版排序圖解排序算法實現(xiàn)歡迎來我的博客交流 最近看到了很多公司都在準備明年的實習(xí)校招,雖然離三月份還有一段時間,感覺已經(jīng)可以準備了。在網(wǎng)上看了一些排序算法和數(shù)組去重操作,感覺都寫的很好,心血來潮,也來寫一寫。 s...

    FrozenMap 評論0 收藏0
  • JavaScript 數(shù)據(jù)結(jié)構(gòu)與算法之美 - 十大經(jīng)典排序算法匯總

    摘要:筆者寫的數(shù)據(jù)結(jié)構(gòu)與算法之美系列用的語言是,旨在入門數(shù)據(jù)結(jié)構(gòu)與算法和方便以后復(fù)習(xí)。這應(yīng)該是目前較為簡單的十大經(jīng)典排序算法的文章講解了吧。比如原本在的前面,而,排序之后,在的后面十大經(jīng)典排序算法冒泡排序思想冒泡排序只會操作相鄰的兩個數(shù)據(jù)。 showImg(https://segmentfault.com/img/bVbvHet); 1. 前言 算法為王。想學(xué)好前端,先練好內(nèi)功,內(nèi)功不行,就...

    zsy888 評論0 收藏0
  • 模擬JavaScript的Array.sort()方法

    摘要:下面重新改寫上面的冒泡排序,傳遞一個回調(diào)函數(shù)。模擬注意第行和第行,給傳遞了一個參數(shù),這是一個函數(shù),然后在第行調(diào)用,和分別就是回調(diào)函數(shù)的兩個比較值。 在JavaScript中,Array對象的sort()方法是用來排序的,但是這個方法在默認情況下可能不是我們想要的,比如對于如下數(shù)組 var arr = [2,5,10,20,7,15]; 使用sort排序會得到如下結(jié)果:[10, 15, ...

    liuyix 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<