溫馨提示×

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

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

php中冒泡排序的原理是什么

發(fā)布時(shí)間:2021-04-21 16:06:23 來源:億速云 閱讀:161 作者:Leah 欄目:編程語言

php中冒泡排序的原理是什么?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

php有什么用

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í)。

向AI問一下細(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