php實(shí)現(xiàn)經(jīng)典冒泡排序算法

原理:它是讓臨近的兩個(gè)數(shù)字之間兩兩比較,按照從小到大或者從大到小的順序進(jìn)行排列棠众。

下面我用具體的數(shù)組來(lái)演示一遍整體效果

假設(shè)有 8涛浙、5、1摄欲、9轿亮、3 五個(gè)數(shù),按照從小到大進(jìn)行排序

第一趟排序

第一次比較 8和5
交換前:<strong> 8胸墙、5</strong>我注、1、9迟隅、3
交換后:<strong> 5但骨、8</strong>、1智袭、9奔缠、3

第二次比較8和1
交換前: 5、<strong>8吼野、1</strong>校哎、9、3
交換后: 5瞳步、<strong>1闷哆、8</strong> 、9单起、3

第三次比較8和9
交換前:5抱怔、1、<strong>8 嘀倒、9</strong>屈留、3
交換后:5局冰、1、<strong>8 灌危、9</strong>康二、3

第四次比較9和3
交換前:5、1乍狐、8 赠摇、<strong>9固逗、3</strong>
交換后:5浅蚪、1、8 烫罩、<strong>3惜傲、9</strong>

看到了吧,這樣第一趟就能讓最大的數(shù)排在最后面了

第二趟排序

第一次比較5和1
交換前:<strong>5贝攒、1</strong>盗誊、8 、3隘弊、9
交換后:<strong>1哈踱、5</strong>、8 梨熙、3开镣、9

第二次比較5和8
交換前:1、<strong>5咽扇、8 </strong>邪财、3、9
交換后:1质欲、<strong>5树埠、8</strong> 、3嘶伟、9

第三次比較8和3
交換前:1怎憋、5、<strong>8九昧、3</strong> 盛霎、9
交換后:1、5耽装、<strong>3愤炸、8</strong>、9

第三趟排序

第一次比較1和5
交換前:<strong>1掉奄、5</strong>规个、3凤薛、8、9
交換后:<strong>1诞仓、5</strong>缤苫、3、8墅拭、9

第二次比較5和3
交換前:1活玲、<strong>5、3</strong>谍婉、8舒憾、9
交換后:1、<strong>3穗熬、5</strong>镀迂、8、9

第四趟排序

第一次比較1和3
交換前:<strong>1唤蔗、3</strong>探遵、5、8妓柜、9
交換后:<strong>1箱季、3</strong>、5棍掐、8藏雏、9

由以上得到,n個(gè)數(shù)塌衰,需要比 n-1趟诉稍,每 m 趟需要比較 n-m次
得到最終結(jié)果 1、3最疆、5杯巨、8、9

下面附上我的php代碼:

<?php

  $data = array(8,5,1,9,3);
  $lenth = count($data);

  for($i=0; $i<$lenth-1; $i++){
    for($j=0; $j<$lenth-$i-1; $j++){
      if($data[$j]>$data[$j+1]){
        $temp = $data[$j];
        $data[$j] = $data[$j+1];
        $data[$j+1] = $temp;
      }
    }
  }
  echo "<pre>";print_r($data);die;
?>

輸出結(jié)果如下:

Paste_Image.png

這種排序比較耗時(shí)努酸,時(shí)間復(fù)雜度為O(n^2)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末服爷,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子获诈,更是在濱河造成了極大的恐慌仍源,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舔涎,死亡現(xiàn)場(chǎng)離奇詭異笼踩,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)亡嫌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門嚎于,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)掘而,“玉大人,你說(shuō)我怎么就攤上這事于购∨鬯” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵肋僧,是天一觀的道長(zhǎng)斑胜。 經(jīng)常有香客問(wèn)我,道長(zhǎng)嫌吠,這世上最難降的妖魔是什么止潘? 我笑而不...
    開(kāi)封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮居兆,結(jié)果婚禮上覆山,老公的妹妹穿的比我還像新娘竹伸。我一直安慰自己泥栖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布勋篓。 她就那樣靜靜地躺著吧享,像睡著了一般。 火紅的嫁衣襯著肌膚如雪譬嚣。 梳的紋絲不亂的頭發(fā)上钢颂,一...
    開(kāi)封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音拜银,去河邊找鬼殊鞭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛尼桶,可吹牛的內(nèi)容都是我干的操灿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼泵督,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼趾盐!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起小腊,我...
    開(kāi)封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤救鲤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后秩冈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體本缠,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年入问,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丹锹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片犹赖。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖卷仑,靈堂內(nèi)的尸體忽然破棺而出峻村,到底是詐尸還是另有隱情,我是刑警寧澤锡凝,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布粘昨,位于F島的核電站,受9級(jí)特大地震影響窜锯,放射性物質(zhì)發(fā)生泄漏张肾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一锚扎、第九天 我趴在偏房一處隱蔽的房頂上張望吞瞪。 院中可真熱鬧,春花似錦驾孔、人聲如沸芍秆。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)妖啥。三九已至,卻和暖如春对碌,著一層夾襖步出監(jiān)牢的瞬間荆虱,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工朽们, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怀读,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓骑脱,卻偏偏與公主長(zhǎng)得像菜枷,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子惜姐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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

  • 概述 排序有內(nèi)部排序和外部排序犁跪,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大歹袁,一次不能容納全部...
    蟻前閱讀 5,168評(píng)論 0 52
  • 概述:排序有內(nèi)部排序和外部排序坷衍,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大条舔,一次不能容納全部...
    每天刷兩次牙閱讀 3,729評(píng)論 0 15
  • 排序的基本概念 在計(jì)算機(jī)程序開(kāi)發(fā)過(guò)程中枫耳,經(jīng)常需要一組數(shù)據(jù)元素(或記錄)按某個(gè)關(guān)鍵字進(jìn)行排序,排序完成的序列可用于快...
    Jack921閱讀 1,421評(píng)論 1 4
  • 一孟抗、 單項(xiàng)選擇題(共71題) 對(duì)n個(gè)元素的序列進(jìn)行冒泡排序時(shí)迁杨,最少的比較次數(shù)是( )钻心。A. n ...
    貝影閱讀 9,035評(píng)論 0 10
  • 01身邊的朋友,甚至00后的表弟們都是王者榮耀的忠實(shí)粉絲铅协,有天我旁敲側(cè)擊的問(wèn)他們:玩游戲累嗎捷沸? 異口同聲的說(shuō):不累...
    0黑色薔薇0閱讀 301評(píng)論 0 1