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ù)第一的位置上已經是最大的),第二趟結束,在倒數(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)冒泡排序的簡單實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Laravel框架中實現(xiàn)使用阿里云ACE緩存服務
這篇文章主要介紹了Laravel框架中實現(xiàn)使用阿里云ACE緩存服務,本文擴展了一個ACE緩存驅動,以便使用阿里云ACE緩存服務,需要的朋友可以參考下2015-02-02Laravel快速入門之composer介紹及安裝詳細圖文步驟
這篇文章主要介紹了Laravel快速入門之composer 介紹以及安裝詳細圖文步驟,圖文步驟講解的很清楚,有對這方面不懂的同學可以研究下2021-01-01php字符比較函數(shù)similar_text、strnatcmp與strcasecmp用法分析
這篇文章主要介紹了php字符比較函數(shù)similar_text、strnatcmp與strcasecmp用法,以實例形式詳細分析了這三個字符串比較函數(shù)的具體用法,非常具有實用價值,需要的朋友可以參考下2014-11-11PHP 利用AJAX獲取網頁并輸出的實現(xiàn)代碼(Zjmainstay)
PHP 利用AJAX獲取網頁并輸出的實現(xiàn)代碼,需要的朋友可以參考下2012-08-08