這篇文章將為大家詳細(xì)講解有關(guān)怎么在php中使用選擇排序算法對數(shù)組進行排序,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
成都網(wǎng)站建設(shè)、成都網(wǎng)站制作,成都做網(wǎng)站公司-成都創(chuàng)新互聯(lián)公司已向上千多家企業(yè)提供了,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)絡(luò)營銷等服務(wù)!設(shè)計與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗,合理的價格為您打造企業(yè)品質(zhì)網(wǎng)站。。具體分析如下:
選擇排序法的基本思路:直接用案例來說明吧,比如有一個數(shù)組$arr = array(2,6,3,9),從大到小排序。
第一次大循環(huán):它首先假設(shè)$arr[0]為較大值,然后分別跟$arr[1]~$arr[3]進行比較,如果比較它大,則進行交換,過程是這樣(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]比較,過程是這樣(9,2,3,6)----2和3比---->(9,3,2,6)---3和6比--->(9,6,2,3)。
第三次大循環(huán):假設(shè)$arr[2]較大,跟$arr[3]比較,過程是這樣(9,6,2,3)---2和3比--->(9,6,3,2)
同樣的,經(jīng)過 N-1 次大的循環(huán),即可排列出來
PHP代碼如下,這里同樣用函數(shù)進行的封裝
"; 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中使用選擇排序算法對數(shù)組進行排序就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。