這篇文章將為大家詳細(xì)講解有關(guān)怎么在php中使用選擇排序算法對(duì)數(shù)組進(jìn)行排序,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
成都網(wǎng)站建設(shè)、成都網(wǎng)站制作,成都做網(wǎng)站公司-成都創(chuàng)新互聯(lián)公司已向上千多家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。。具體分析如下:
選擇排序法的基本思路:直接用案例來(lái)說(shuō)明吧,比如有一個(gè)數(shù)組$arr = array(2,6,3,9),從大到小排序。
第一次大循環(huán):它首先假設(shè)$arr[0]為較大值,然后分別跟$arr[1]~$arr[3]進(jìn)行比較,如果比較它大,則進(jìn)行交換,過(guò)程是這樣(2,6,3,9)---2和6比 --->(6,2,3,9)---6和3比--->(6,2,3,9)---6和9比--->(9,2,3,6)。注意,這里下標(biāo)也要變化。
第二次大循環(huán):假設(shè)$arr[1]較大(排除了$arr[0]),分別跟$arr[2]~$arr[3]比較,過(guò)程是這樣(9,2,3,6)----2和3比---->(9,3,2,6)---3和6比--->(9,6,2,3)。
第三次大循環(huán):假設(shè)$arr[2]較大,跟$arr[3]比較,過(guò)程是這樣(9,6,2,3)---2和3比--->(9,6,3,2)
同樣的,經(jīng)過(guò) N-1 次大的循環(huán),即可排列出來(lái)
PHP代碼如下,這里同樣用函數(shù)進(jìn)行的封裝
<?php function selectSort(&$arr){ for($i=0;$i<count($arr);$i++){ $max = $arr[$i]; for($j=$i+1;$j<count($arr);$j++){ if($max<$arr[$j]){ $max = $arr[$j]; $arr[$j] = $arr[$i]; $arr[$i] = $max; } } } return $arr; } $myarr = array(2,6,3,9); selectSort($myarr); echo "<pre>"; print_r($myarr); ?>
代碼分析:
第一次大循環(huán):
$i=0 數(shù)組(2,6,3,9)
$j=1,執(zhí)行 2和6比:變成$arr[0]=6,$arr[1]=2,$max=6即(6,2,3,9)
$j=2,執(zhí)行 3和6比:不執(zhí)行
$j=3,執(zhí)行 9和6比:變成$arr[0]=9,$arr[3]=6,$max=9即(9,2,3,6)
第二次大循環(huán):
$i=1,$max=$arr[1]=2,數(shù)組(9,2,3,6)
$j=2,執(zhí)行 3和2比:變成$arr[1]=3,$arr[2]=2,$max=3即(9,3,2,6)
$j=3,執(zhí)行 6和3比:變成$arr[1]=6,$arr[3]=3,$max=6即(9,6,2,3)
第三次大循環(huán):
$i=2,$max=$arr[2]=2,數(shù)組(9,6,2,3)
$j=3,執(zhí)行 3和2比:變成$max[2]=3,$arr[3]=2,$max=3即(9,6,3,2)
關(guān)于怎么在php中使用選擇排序算法對(duì)數(shù)組進(jìn)行排序就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
文章名稱:怎么在php中使用選擇排序算法對(duì)數(shù)組進(jìn)行排序-創(chuàng)新互聯(lián)
文章源于:http://jinyejixie.com/article30/djsspo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、微信公眾號(hào)、網(wǎng)站策劃、外貿(mào)網(wǎng)站建設(shè)、商城網(wǎng)站、品牌網(wǎng)站建設(shè)
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容