PHP冒泡排序算法(一)

閱讀 20532  ·  發(fā)布日期 2020-08-24 11:44  ·  溫州優(yōu)光網(wǎng)絡(luò)科技有限公司|建站|APP小程序制作|做網(wǎng)站SEO推廣優(yōu)化
【摘要】 在前面的文章中,我們給大家介紹了PHP算法系列之《PHP隨機取一算法》。今天我們繼續(xù)為大家講解常見的PHP算法系列的相關(guān)知識點,即PHP冒泡排序算法。冒泡排序,相信對于編程人員來說并不陌生。冒泡排序算法簡單來說就是依次比較相鄰的兩個數(shù),然后根據(jù)大小做出排序,直至最后兩位數(shù)。那么之所以稱為“冒泡排序”算法是因為越大的元素... 【溫州小程序開發(fā),溫州微信公眾號,平陽做網(wǎng)站,平陽網(wǎng)站建設(shè)公司,平陽小程序商城制作,昆陽萬全做網(wǎng)站,鰲江水頭小程序,蕭江騰蛟微信公眾號,山門順溪南雁海西南麂鳳臥麻步懷溪網(wǎng)絡(luò)網(wǎng)店服務(wù),政采云網(wǎng)店管理服務(wù)】...

PHP冒泡排序算法(一)

在前面的文章中,我們給大家介紹了PHP算法系列之《PHP隨機取一算法》。
今天我們繼續(xù)為大家講解常見的PHP算法系列的相關(guān)知識點,即PHP冒泡排序算法。
冒泡排序,相信對于編程人員來說并不陌生。
冒泡排序算法簡單來說就是依次比較相鄰的兩個數(shù),然后根據(jù)大小做出排序,直至最后兩位數(shù)。
那么之所以稱為“冒泡排序”算法是因為越大的元素會經(jīng)由交換慢慢“浮”到數(shù)列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣。
下面我們就結(jié)合具體的代碼示例,給大家介紹PHP冒泡排序算法的實現(xiàn)。
(以下是升序排列,即從小到大排列)代碼示例如下:
$len = count($arr);
for($k=0;
$k$k++) {
for($j=$len-1;
$j>$k;
$j--){
if($arr[$j] $temp = $arr[$j];
$arr[$j] = $arr[$j-1];
$arr[$j-1] = $temp;
}
}
}
return $arr;
}
$arr = [2,6,2,8,2,34,5,9,2341,23];
var_dump(maopao($arr));
這里我們定義了一個maopao方法,首先我們通過count函數(shù)統(tǒng)計出指定數(shù)組的總長度。
然后使用雙重for循環(huán)語句循環(huán)遍歷數(shù)組元素并逐一比較,那么外層for循環(huán)就是用來控制循環(huán)輪次;內(nèi)層for循環(huán)就是控制每輪的比較次數(shù),并且在每輪比較后選出最大的一個值放在最后。
注意:
這里我們通過臨時變量$temp介質(zhì)來存貯$j的值,以此循環(huán)比較兩個相鄰的元素,并把大的值放在后面。
輸出:
array (size=10) 0 => int 2 1 => int 2 2 => int 2 3 => int 5 4 => int 6 5 => int 8 6 => int 9 7 => int 23 8 => int 34 9 => int 2341總結(jié)冒泡排序的算法原理:
對一組數(shù)據(jù),比較相鄰數(shù)據(jù)的大小,將值小數(shù)據(jù)在前面,值大的數(shù)據(jù)放在后面。
本篇文章就是關(guān)于PHP冒泡排序算法的介紹,在下篇文章《PHP冒泡排序算法(二)》中,我們將通過Xdebug為大家更直觀地調(diào)試運行冒泡排序算法的實現(xiàn)過程。
以上就是PHP冒泡排序算法(一)的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
微信
分享相關(guān)標簽:
PHP冒泡排序算法本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
上一篇:
PHP隨機取一算法(三)
下一篇:
PHP冒泡排序算法(二)相關(guān)文章相關(guān)視頻php冒泡排序、快速排序、快速查找、二維數(shù)組去重 PHP冒泡排序使用詳解php冒泡排序與快速排序算法PHP冒泡排序算法是怎么實現(xiàn)的?(圖文+視頻)PHP冒泡排序算法(一)《PHP冒泡算法(一)》2019.2.26《PHP冒泡算法(二)》2019.2.26 [溫州php做網(wǎng)站知識]