本篇內(nèi)容主要講解“怎么理解JavaScript冒泡排序與選擇排序”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“怎么理解JavaScript冒泡排序與選擇排序”吧!
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比商河網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式商河網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋商河地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
JavaScript冒泡排序與選擇排序
冒泡排序
原理:
比較兩個相鄰的元素,將值大的元素交換到右邊,直到最右邊。注意核心是相鄰。
思路:
依次比較相鄰的兩個數(shù),將比較小的數(shù)放在前面,比較大的數(shù)放在后面。第一輪下來數(shù)組中最大的數(shù)會排在最后面。
第二輪:然后數(shù)組再剩余的數(shù)中從第一個數(shù)依次比較相鄰的數(shù),將最大的數(shù)排在最后面。
重復(fù)步驟,直到排序完成。
注意:到倒數(shù)第二輪完時,最后一輪還剩一個數(shù),肯定是最小的,所以不用排序。即就是只用排序 數(shù)組的長度減一(arr.length-1)輪
算法可視化:
代碼如下:
結(jié)果如下:
選擇排序
思路:
假設(shè)數(shù)組第一個位置的數(shù)最小,然后與后面的每一個數(shù)進行比較,只要找到更小的就交換值對應(yīng)的下標(biāo),注意是下標(biāo)。第一輪找一遍之后可以鎖定到最小值的位置了(就是找到了下標(biāo))然后就交換值。
第二輪假設(shè)第二個位置的數(shù)最小,這時候不用管數(shù)組第一個值(因為第一輪找到已經(jīng)是最小的了)然后與后面最小值交換下標(biāo),鎖定后再交換值。
重復(fù)步驟,直到排序完成。
注意:到倒數(shù)第二輪完時,最后一輪還剩一個數(shù),肯定是比前面的數(shù)都還大,所以不用排序。即就是只用排序 數(shù)組的長度減一(arr.length-1)輪
算法可視化:
代碼如下:
沒有封裝,大家可以自己封裝一下
結(jié)果如下:
到此,相信大家對“怎么理解JavaScript冒泡排序與選擇排序”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!