摘要:標簽空格分隔數組排序一的方法如上面代碼,按照正序由小到大排列。通常規定,如果則返回如果則返回如果則返回倒序相反。
標簽(空格分隔): 數組排序
一、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]
如上面代碼,按照正序(由小到大)排列。通常規定,如果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]; //第一個數 arr[i]=arr[j]; //第一個數 和 比它后面小的數 交換位置 arr[j]=t; //后面小的數 就成了數組里前面的數 } } } console.log(arr); //[1, 2, 10, 20]
三、二維數組的排序(sort,冒泡)
1.二維數組使用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.二位數組的冒泡排序
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]
最后,還有一個這樣的寫法
順口溜:
一組數據來排序,
兩兩比較小靠前,
外層循環n-1,
內層循環n-1-i,
例:
//冒泡排序 //比較的輪數 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);
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/105135.html
摘要:基礎構造函數以下幾種排序算法做為方法放在構造函數里。代碼圖解選擇排序選擇排序算法是一種原址比較排序算法。它的性能通常比其他的復雜度為的排序算法要好。代碼劃分過程圖解排序沒有定義用哪個排序算法,所以瀏覽器廠商可以自行去實現算法。 基礎構造函數 以下幾種排序算法做為方法放在構造函數里。 function ArrayList () { var array = []; // 交換位置...
摘要:上一篇數據結構與算法樹寫在前面這是學習數據結構與算法的最后一篇博客,也是在面試中常常會被問到的一部分內容排序和搜索。 上一篇:JS數據結構與算法_樹 寫在前面 這是《學習JavaScript數據結構與算法》的最后一篇博客,也是在面試中常常會被問到的一部分內容:排序和搜索。在這篇博客之前,我每每看到排序頭就是大的,心里想著類似冒泡排序,兩層遍歷啪啪啪就完事了,然后再也無心去深入研究排序相...
摘要:推薦一下,,這里還有個可視化的排序博客,各大排序算法的實現都栩栩如生。堆排序堆排序是指利用堆這種數據結構所設計的一種排序算法。共勉參考維基百科排序搜索聊一聊排序算法秒殺種排序算法版排序圖解排序算法實現歡迎來我的博客交流 最近看到了很多公司都在準備明年的實習校招,雖然離三月份還有一段時間,感覺已經可以準備了。在網上看了一些排序算法和數組去重操作,感覺都寫的很好,心血來潮,也來寫一寫。 s...
摘要:筆者寫的數據結構與算法之美系列用的語言是,旨在入門數據結構與算法和方便以后復習。這應該是目前較為簡單的十大經典排序算法的文章講解了吧。比如原本在的前面,而,排序之后,在的后面十大經典排序算法冒泡排序思想冒泡排序只會操作相鄰的兩個數據。 showImg(https://segmentfault.com/img/bVbvHet); 1. 前言 算法為王。想學好前端,先練好內功,內功不行,就...
摘要:下面重新改寫上面的冒泡排序,傳遞一個回調函數。模擬注意第行和第行,給傳遞了一個參數,這是一個函數,然后在第行調用,和分別就是回調函數的兩個比較值。 在JavaScript中,Array對象的sort()方法是用來排序的,但是這個方法在默認情況下可能不是我們想要的,比如對于如下數組 var arr = [2,5,10,20,7,15]; 使用sort排序會得到如下結果:[10, 15, ...
閱讀 1125·2021-11-24 09:38
閱讀 3229·2021-11-19 09:56
閱讀 2954·2021-11-18 10:02
閱讀 721·2019-08-29 12:50
閱讀 2566·2019-08-28 18:30
閱讀 859·2019-08-28 18:10
閱讀 3659·2019-08-26 11:36
閱讀 2640·2019-08-23 18:23