PHP冒泡排序演算法(一)

藏色散人
發布: 2019-02-28 09:10:08
原創
19362 人瀏覽過



在前面的文章中,我們介紹了PHP演算法系列的《PHP隨機取一演算法".今天我們繼續為大家講解常見的PHP演算法系列的相關知識點,即PHP冒泡排序演算法

PHP冒泡排序演算法(一)

冒泡排序,相信對程式設計人員來說並不陌生。冒泡排序演算法簡單來說就是依序比較相鄰的兩個數,然後根據大小做出排序,直到最後兩位數。

那麼之所以稱為「冒泡排序」演算法是因為越大的元素會經由交換慢慢「浮」到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣。

下面我們就結合具體的程式碼範例,跟大家介紹PHP冒泡排序演算法的實作。 (以下是升序排列,即從小到大排列)

程式碼範例如下:

$k;$j--){ if($arr[$j]<$arr[$j-1]){ $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函數統計出指定數組的總長度。然後使用雙重for迴圈語句循環遍歷數組元素並逐一比較,那麼外層for迴圈就是用來控制迴圈輪次;內層for迴圈就是控制每輪的比較次數,並且在每輪比較後選出最大的一個值放在最後。

注意:這裡我們透過臨時變數$temp介質來存貯$j的值,以此循環比較兩個相鄰的元素,並把大的值放在後面。

輸出:

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
登入後複製

總結冒泡排序的演算法原理:對一組數據,比較相鄰數據的大小,將值小數據在前面,值大的數據放在後面。

這篇文章就是關於PHP冒泡排序演算法的介紹,在下篇文章《PHP冒泡排序演算法(二)》中,我們將透過Xdebug為大家更直觀地調試運行冒泡排序演算法的實現過程。



以上是PHP冒泡排序演算法(一)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!