php選擇排序法實現數組排序執行個體分析,數組執行個體分析_PHP教程

來源:互聯網
上載者:User

php選擇排序法實現數組排序執行個體分析,數組執行個體分析


本文執行個體分析了php選擇排序法實現數組排序的方法。分享給大家供大家參考。具體分析如下:

選擇排序法的基本思路:直接用案例來說明吧,比如有一個數組$arr = array(2,6,3,9),從大到小排序。

第一次大迴圈:它首先假設$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)。注意,這裡下標也要變化。

第二次大迴圈:假設$arr[1]最大(排除了$arr[0]),分別跟$arr[2]~$arr[3]比較,過程是這樣(9,2,3,6)----2和3比---->(9,3,2,6)---3和6比--->(9,6,2,3)。

第三次大迴圈:假設$arr[2]最大,跟$arr[3]比較,過程是這樣(9,6,2,3)---2和3比--->(9,6,3,2)

同樣的,經過 N-1 次大的迴圈,即可排列出來

PHP代碼如下,這裡同樣用函數進行的封裝

<?phpfunction selectSort(&$arr){ for($i=0;$i";print_r($myarr);?>

程式碼分析:

第一次大迴圈:

$i=0 數組(2,6,3,9)
$j=1,執行 2和6比:變成$arr[0]=6,$arr[1]=2,$max=6即(6,2,3,9)
$j=2,執行 3和6比:不執行
$j=3,執行 9和6比:變成$arr[0]=9,$arr[3]=6,$max=9即(9,2,3,6)

第二次大迴圈:

$i=1,$max=$arr[1]=2,數組(9,2,3,6)
$j=2,執行 3和2比:變成$arr[1]=3,$arr[2]=2,$max=3即(9,3,2,6)
$j=3,執行 6和3比:變成$arr[1]=6,$arr[3]=3,$max=6即(9,6,2,3)

第三次大迴圈:

$i=2,$max=$arr[2]=2,數組(9,6,2,3)
$j=3,執行 3和2比:變成$max[2]=3,$arr[3]=2,$max=3即(9,6,3,2)

希望本文所述對大家的php程式設計有所協助。

http://www.bkjia.com/PHPjc/959115.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/959115.htmlTechArticlephp選擇排序法實現數組排序執行個體分析,數組執行個體分析 本文執行個體分析了php選擇排序法實現數組排序的方法。分享給大家供大家參考。具體分析...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.