PHP實(shí)現(xiàn)冒泡排序的簡(jiǎn)單實(shí)例
1、首先我們必須弄清楚什么是冒泡排序,不理解冒泡排序的原理,我們就無(wú)法寫(xiě)出代碼。
冒泡排序(BubbleSort)的基本概念是:依次比較相鄰的兩個(gè)數(shù),將小數(shù)放在前面,大數(shù)放在后面。即在第一趟:首先比較第1個(gè)和第2個(gè)數(shù),將小數(shù)放前,大數(shù)放后。然后比較第2個(gè)數(shù)和第3個(gè)數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比較最后兩個(gè)數(shù),將小數(shù)放前,大數(shù)放后。至此第一趟結(jié)束,將最大的數(shù)放到了最后。在第二趟:仍從第一對(duì)數(shù)開(kāi)始比較(因?yàn)榭赡苡捎诘?個(gè)數(shù)和第3個(gè)數(shù)的交換,使得第1個(gè)數(shù)不再小于第2個(gè)數(shù)),將小數(shù)放前,大數(shù)放后,一直比較到倒數(shù)第二個(gè)數(shù)(倒數(shù)第一的位置上已經(jīng)是最大的),第二趟結(jié)束,在倒數(shù)第二的位置上得到一個(gè)新的最大數(shù)(其實(shí)在整個(gè)數(shù)列中是第二大的數(shù))。如此下去,重復(fù)以上過(guò)程,直至最終完成排序。
PHP實(shí)現(xiàn)代碼:
<?php //冒泡排序方法 function bubblesort(&$arr){ //定義一個(gè)變量保存交換的值 $temp =0; for($i=0;$i<count($arr);$i++){ for($j=0;$j<count($arr)-$i-1;$j++){ if($arr[$j]>$arr[$j+1]){ //如果前面的那個(gè)數(shù)大于后面的那個(gè)數(shù),那么他們就進(jìn)行交換 $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ù)組是值傳遞,所以傳遞的時(shí)候加個(gè)&符號(hào)就是地址傳遞,改變外部變量 ?>
以上這篇PHP實(shí)現(xiàn)冒泡排序的簡(jiǎn)單實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Laravel框架中實(shí)現(xiàn)使用阿里云ACE緩存服務(wù)
這篇文章主要介紹了Laravel框架中實(shí)現(xiàn)使用阿里云ACE緩存服務(wù),本文擴(kuò)展了一個(gè)ACE緩存驅(qū)動(dòng),以便使用阿里云ACE緩存服務(wù),需要的朋友可以參考下2015-02-02php輸入數(shù)據(jù)統(tǒng)一類(lèi)實(shí)例
這篇文章主要介紹了php輸入數(shù)據(jù)統(tǒng)一類(lèi),實(shí)例分析了針對(duì)輸入數(shù)據(jù)的各種轉(zhuǎn)換技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02Laravel快速入門(mén)之composer介紹及安裝詳細(xì)圖文步驟
這篇文章主要介紹了Laravel快速入門(mén)之composer 介紹以及安裝詳細(xì)圖文步驟,圖文步驟講解的很清楚,有對(duì)這方面不懂的同學(xué)可以研究下2021-01-01php字符比較函數(shù)similar_text、strnatcmp與strcasecmp用法分析
這篇文章主要介紹了php字符比較函數(shù)similar_text、strnatcmp與strcasecmp用法,以實(shí)例形式詳細(xì)分析了這三個(gè)字符串比較函數(shù)的具體用法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11PHP各種常見(jiàn)經(jīng)典算法總結(jié)【排序、查找、翻轉(zhuǎn)等】
這篇文章主要介紹了PHP各種常見(jiàn)經(jīng)典算法,結(jié)合實(shí)例形式總結(jié)分析了php排序、查找、翻轉(zhuǎn)等算法相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-08-08PHP 利用AJAX獲取網(wǎng)頁(yè)并輸出的實(shí)現(xiàn)代碼(Zjmainstay)
PHP 利用AJAX獲取網(wǎng)頁(yè)并輸出的實(shí)現(xiàn)代碼,需要的朋友可以參考下2012-08-08