JavaScript實(shí)現(xiàn)各種排序的代碼詳解
更新時(shí)間:2017年08月28日 16:41:49 作者:wenjuanzhao
這篇文章給大家介紹了js實(shí)現(xiàn)各種排序功能,包括冒泡排序,選擇排序和插入排序,代碼簡單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧
冒泡排序
function Bubble(arr){ var temp; for(var i=0;i<arr.length-1;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } return arr; } console.log(Bubble([2,5,1,0,6,2])) //[0,1,2,2,5,6]
選擇排序
function selctor(arr){ var min; for(var i=0;i<arr.length-1;i++){ min=i; //依次找到為最小值的索引 for(var j=i+1;j<arr.length;j++){ if(arr[min]>arr[j]){ min=j; } } //如果最小值不在當(dāng)前位置上 就交換到位置i if(min!=i){ swap(arr,min,i) } } return arr } function swap(arr,index1,index2) { var temp=arr[index1]; arr[index1]=arr[index2]; arr[index2]=temp; }
插入排序
function insert(arr){ var j,key; for(var i=1;i<arr.length;i++){ j=i; key=arr[i]; while(--j>-1){ if(arr[j]>key) { arr[j + 1] = arr[j]; }else{ break; } } arr[j+1]=key; } return arr }
總結(jié)
以上所述是小編給大家介紹的JavaScript實(shí)現(xiàn)各種排序的代碼詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
JavaScript Canvas繪制圓形時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了JavaScript Canvas繪制圓形時(shí)鐘效果的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04談?wù)刯s中的prototype及prototype屬性解釋和常用方法
prototype是javascript中筆記難理解的一部分內(nèi)容,下面通過幾個(gè)關(guān)鍵知識點(diǎn)給大家講解js中的prototype,對js中的prototype相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2015-11-11javascript手機(jī)驗(yàn)證、郵箱驗(yàn)證、密碼驗(yàn)證的正則表達(dá)式簡單封裝實(shí)例
正則表達(dá)式在日常的數(shù)據(jù)驗(yàn)證中是必不可少的驗(yàn)證方式,這篇文章主要給大家介紹了關(guān)于javascript手機(jī)驗(yàn)證、郵箱驗(yàn)證、密碼驗(yàn)證的正則表達(dá)式簡單封裝的相關(guān)資料,需要的朋友可以參考下2022-09-09