這篇文章主要介紹了php如何實(shí)現(xiàn)冒泡排序從小到大,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、孟村網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為孟村等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
1、執(zhí)行速度快。2、具有很好的開放性和可擴(kuò)展性。3、PHP支持多種主流與非主流的數(shù)據(jù)庫。4、面向?qū)ο缶幊蹋篜HP提供了類和對(duì)象。5、版本更新速度快。6、具有豐富的功能。7、可伸縮性。8、功能全面,包括圖形處理、編碼與解碼、壓縮文件處理、xml解析等。
本文操作系統(tǒng):windows7系統(tǒng)、PHP5.6版本、DELL G3電腦。
排序步驟分析
$ars = [4,3,5,9,6,2];
這是一個(gè)有6個(gè)元素的數(shù)組,那么開始使用冒泡排序,首先理解下冒泡排序,原理簡單說明就是:兩兩比較,值大的往后放
第一次:數(shù)組的第一個(gè)元素跟第二個(gè)元素比較,4>3,所以,4要往后放 [3,4,5,9,6,2]
第二次:數(shù)組的第二個(gè)元素(這時(shí)候已經(jīng)是4了,不是3了)跟第三個(gè)元素比較,4<5,不動(dòng) [3,4,5,9,6,2]
第三次:數(shù)組的第三個(gè)元素跟第四個(gè)元素比較,5<9,不動(dòng) [3,4,5,9,6,2]
第四次:數(shù)組的第四個(gè)元素跟第五個(gè)元素比較,9>6,9要往后放 [3,4,5,6,9,2]
第五次:數(shù)組的第五個(gè)元素跟第六個(gè)元素比較,9>2,9要往后放 [3,4,5,6,2,9]
第六次:第六個(gè)元素沒有比較對(duì)象,所以結(jié)束了(很多人迷惑為什么代碼是那樣寫的,問題可能就在這里)
5次比較下來,只得到一個(gè)9在最后面,那么就需要循環(huán)來遍歷不斷的進(jìn)行第二輪的比較
基本思想
冒泡排序是一種交換排序,它的基本思想是:兩兩比較相鄰記錄的關(guān)鍵字,如果反序則交換,直到?jīng)]有反序的記錄為止。
實(shí)例
<?php
//定義一個(gè)數(shù)組
$arr=[2,1,4,5,56,7,17,22];
//獲取數(shù)組元素個(gè)數(shù)
$count=count($arr);
//遍歷數(shù)組并排序
for($i=0;$i<$count;$i++){//控制循環(huán)次數(shù)為$count-1次
//假設(shè)最右邊的元素最大
for($j=0;$j<$count-1;$j++){
//如果前面的元素比相鄰后面元素大兩者就交換位置
if($arr[$j+1]<$arr[$j]){
$tem=$arr[$j+1];
$arr[$j+1]=$arr[$j];
$arr[$j]=$tem;
}
}
}
echo "<pre/>";
var_dump($arr);感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“php如何實(shí)現(xiàn)冒泡排序從小到大”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
新聞名稱:php如何實(shí)現(xiàn)冒泡排序從小到大
本文來源:http://www.chinadenli.net/article6/gicsig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、靜態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、、小程序開發(fā)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)