您好,登錄后才能下訂單哦!
php中冒泡排序的原理是什么?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
php是一個(gè)嵌套的縮寫名稱,是英文超級(jí)文本預(yù)處理語言,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因?yàn)閜hp是開源的,從而使得php經(jīng)久不衰。
1.冒泡排序概念
php冒泡排序法是計(jì)算機(jī)中的一種簡(jiǎn)單的排序算法。在對(duì)數(shù)組排序時(shí)會(huì)根據(jù)數(shù)組的長(zhǎng)度重復(fù)的去比較數(shù)組中的值,如果順序不對(duì)就把兩個(gè)數(shù)據(jù)位置進(jìn)行對(duì)調(diào),一直比較到?jīng)]有需要交換的值為止完成排序。
2.冒泡排序原理
(1)比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)。
(2)對(duì)每一對(duì)相鄰元素做同樣的工作,從開始第一對(duì)到結(jié)尾的最后一對(duì)。在這一點(diǎn),最后的元素應(yīng)該會(huì)是最大的數(shù)。
(3)針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè)。
(4)持續(xù)每次對(duì)越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對(duì)數(shù)字需要比較。
3.實(shí)例
<?php /* * 思路: * 它重復(fù)地走訪過要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過來。 * 走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成。 */ function BubbleSort($arr){ $count = count($arr); $temp = 0; //外層控制排序輪次 for($i=0; $i<$count-1; $i++){ //內(nèi)層控制每輪比較次數(shù) for($j=0; $j< $count-1-$i; $j++){ if($arr[$j] > $arr[$j+1]){ $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp; } } } return $arr; } $arr= array(6,3,8,2,9,1); $res = BubbleSort($arr); var_dump($res);
關(guān)于php中冒泡排序的原理是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。