javaScript數(shù)據(jù)結(jié)構(gòu)和算法--冒泡排序

冒泡排序比較任何兩個(gè)相鄰的數(shù),如果第一個(gè)數(shù)比第二個(gè)數(shù)大,則交換這兩個(gè)數(shù),元素向上移動(dòng)至正確的位置。

冒泡排序的算法實(shí)現(xiàn):

function BubbleSort() {

? ? const array = [];

? ? this.insert = function(item) {

? ? ? ? array.push(item);

? ? }

? ? this.toString = function() {

? ? ? ? return array.join();

? ? }

? ? const swap = function(index1, index2) {

? ? ? ? const temp = array[index1];

? ? ? ? array[index1] = array[index2];

? ? ? ? array[index2] = temp;

? ? }

? ? //冒泡排序

? ? this.bubbleSort = function() {

? ? ? ? for(let i=0; i<array.length; i++) {

? ? ? ? ? ? for(let j=0; j<array.length-1; j++) {

? ? ? ? ? ? ? ? if(array[j] > array[j+1]) {

? ? ? ? ? ? ? ? ? ? swap(j, j+1);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? }

? ? //改進(jìn)版的冒泡排序

? ? this.bubbleSort1 = function() {

? ? ? ? for(let i=0; i<array.length; i++) {

? ? ? ? ? ? for(let j=0; j<array.length-1-i; j++) {

? ? ? ? ? ? ? ? if(array[j] > array[j+1]) {

? ? ? ? ? ? ? ? ? ? swap(j, j+1);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? }

}

var arr = new BubbleSort();

arr.insert(3);

arr.insert(13);

arr.insert(32);

arr.insert(23);

arr.insert(11);

arr.insert(8);

arr.insert(33);

arr.insert(28);

console.log(arr.toString()); // 3,13,32,23,11,8,33,28

arr.bubbleSort();

console.log(arr.toString()); // 3,8,11,13,23,28,32,33

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吴超,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鸯乃,更是在濱河造成了極大的恐慌鲸阻,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,865評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缨睡,死亡現(xiàn)場離奇詭異鸟悴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)奖年,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門细诸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人陋守,你說我怎么就攤上這事震贵±常” “怎么了?”我有些...
    開封第一講書人閱讀 169,631評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵猩系,是天一觀的道長媚送。 經(jīng)常有香客問我,道長蝙眶,這世上最難降的妖魔是什么季希? 我笑而不...
    開封第一講書人閱讀 60,199評(píng)論 1 300
  • 正文 為了忘掉前任褪那,我火速辦了婚禮幽纷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘博敬。我一直安慰自己友浸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,196評(píng)論 6 398
  • 文/花漫 我一把揭開白布偏窝。 她就那樣靜靜地躺著收恢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祭往。 梳的紋絲不亂的頭發(fā)上伦意,一...
    開封第一講書人閱讀 52,793評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音硼补,去河邊找鬼驮肉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛已骇,可吹牛的內(nèi)容都是我干的离钝。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼褪储,長吁一口氣:“原來是場噩夢啊……” “哼卵渴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鲤竹,我...
    開封第一講書人閱讀 40,174評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤浪读,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后辛藻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碘橘,經(jīng)...
    沈念sama閱讀 46,699評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,770評(píng)論 3 343
  • 正文 我和宋清朗相戀三年揩尸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛹屿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,918評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡岩榆,死狀恐怖错负,靈堂內(nèi)的尸體忽然破棺而出坟瓢,到底是詐尸還是另有隱情,我是刑警寧澤犹撒,帶...
    沈念sama閱讀 36,573評(píng)論 5 351
  • 正文 年R本政府宣布折联,位于F島的核電站,受9級(jí)特大地震影響识颊,放射性物質(zhì)發(fā)生泄漏诚镰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,255評(píng)論 3 336
  • 文/蒙蒙 一祥款、第九天 我趴在偏房一處隱蔽的房頂上張望清笨。 院中可真熱鬧,春花似錦刃跛、人聲如沸抠艾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽检号。三九已至,卻和暖如春蛙酪,著一層夾襖步出監(jiān)牢的瞬間齐苛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評(píng)論 1 274
  • 我被黑心中介騙來泰國打工桂塞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留凹蜂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,364評(píng)論 3 379
  • 正文 我出身青樓藐俺,卻偏偏與公主長得像炊甲,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子欲芹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,926評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • /*去重*/ function delRepeat(arr){ var newArray=new Array();...
    Hedgehog_Dove閱讀 1,864評(píng)論 0 2
  • var sort = {debug:function(str){if(window.console && wind...
    qhaobaba閱讀 279評(píng)論 0 0
  • 冒泡排序 思路:重復(fù)遍歷數(shù)組中的元素卿啡,依次比較兩個(gè)相鄰的元素,如果前一個(gè)元素大于后一個(gè)元素菱父,就依靠第三個(gè)變量將它們...
    晴天的晴q閱讀 2,809評(píng)論 0 1
  • 作為一個(gè)年輕人浙宜,我相信命運(yùn)的程度真的超出了自己的認(rèn)知范圍官辽。 記得上大學(xué)那會(huì)兒,我每天說的最多的話就...
    90后閑散人閱讀 779評(píng)論 1 5
  • 今早刷了許久新聞粟瞬,翻閱王寶強(qiáng)先生的相關(guān)信息同仆。內(nèi)心之中多少有些感嘆。雖然隔著太遠(yuǎn)裙品,不了解王寶強(qiáng)先生的為人俗批,但看過一些...
    化濁閱讀 126評(píng)論 0 1