溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

php冒泡排序如何實(shí)現(xiàn)

發(fā)布時(shí)間:2022-05-26 09:50:29 來(lái)源:億速云 閱讀:117 作者:zzz 欄目:大數(shù)據(jù)

這篇文章主要介紹“php冒泡排序如何實(shí)現(xiàn)”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“php冒泡排序如何實(shí)現(xiàn)”文章能幫助大家解決問(wèn)題。

冒泡排序概念

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)]有需要交換的值為止完成排序。

冒泡排序原理

(1)比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)。

(2)對(duì)每一對(duì)相鄰元素做同樣的工作,從開(kāi)始第一對(duì)到結(jié)尾的最后一對(duì)。在這一點(diǎn),最后的元素應(yīng)該會(huì)是數(shù)。

(3)針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè)。

(4)持續(xù)每次對(duì)越來(lái)越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對(duì)數(shù)字需要比較。

實(shí)例

<?php
/*
* 思路:
* 它重復(fù)地走訪過(guò)要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過(guò)來(lái)。
* 走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說(shuō)該數(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冒泡排序如何實(shí)現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

php
AI