PHP實現(xiàn)冒泡排序的簡單實例
1、首先我們必須弄清楚什么是冒泡排序,不理解冒泡排序的原理,我們就無法寫出代碼。
冒泡排序(BubbleSort)的基本概念是:依次比較相鄰的兩個數(shù),將小數(shù)放在前面,大數(shù)放在后面。即在第一趟:首先比較第1個和第2個數(shù),將小數(shù)放前,大數(shù)放后。然后比較第2個數(shù)和第3個數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比較最后兩個數(shù),將小數(shù)放前,大數(shù)放后。至此第一趟結束,將最大的數(shù)放到了最后。在第二趟:仍從第一對數(shù)開始比較(因為可能由于第2個數(shù)和第3個數(shù)的交換,使得第1個數(shù)不再小于第2個數(shù)),將小數(shù)放前,大數(shù)放后,一直比較到倒數(shù)第二個數(shù)(倒數(shù)第一的位置上已經(jīng)是最大的),第二趟結束,在倒數(shù)第二的位置上得到一個新的最大數(shù)(其實在整個數(shù)列中是第二大的數(shù))。如此下去,重復以上過程,直至最終完成排序。
PHP實現(xiàn)代碼:
<?php
//冒泡排序方法
function bubblesort(&$arr){
//定義一個變量保存交換的值
$temp =0;
for($i=0;$i<count($arr);$i++){
for($j=0;$j<count($arr)-$i-1;$j++){
if($arr[$j]>$arr[$j+1]){
//如果前面的那個數(shù)大于后面的那個數(shù),那么他們就進行交換
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
}
}
}
}
$arr=array(100,99,200,5,-4,6,-7);
bubbleSort($arr);
print_r($arr); //數(shù)組是值傳遞,所以傳遞的時候加個&符號就是地址傳遞,改變外部變量
?>
以上這篇PHP實現(xiàn)冒泡排序的簡單實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
PHP Laravel框架異步執(zhí)行的實現(xiàn)詳解
Laravel是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架(PHP Web Framework)。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網(wǎng)絡APP,而且每行代碼都可以簡潔、富于表達力2022-07-07
從MySQL數(shù)據(jù)庫表中取出隨機數(shù)據(jù)的代碼
這個例子是用于一個簡單的應用開發(fā)了,意思就是把現(xiàn)在表中的所有數(shù)據(jù)我們隨機讀出來一次之后再進行隨機保存到另一個表,從而達到了記錄隨機的功能2007-09-09

