最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php插入排序法實現(xiàn)數(shù)組排序?qū)嵗?/h1>
 更新時間:2015年02月16日 14:30:11   作者:php之路  
這篇文章主要介紹了php插入排序法實現(xiàn)數(shù)組排序,實例分析了插入排序法的原理與具體的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了php插入排序法實現(xiàn)數(shù)組排序的方法。分享給大家供大家參考。具體分析如下:

插入排序法的基本思路:同樣以案例來說明,還是以$arr = array(2,6,3,9),由大到小排序。

實現(xiàn)原理:假設(shè)(并不實際創(chuàng)建)有一個有序數(shù)組$arr = array(2),用$arr[1]=6來與它進行比較,如果6>2,由把$arr[0]后移到$arr[1]位置,而6插入到$arr[0]位置。接著,$arr[2]=3與$arr[1]=2比較,3>2,則$arr[1]=2繼續(xù)后移到$arr[2]位置,原$arr[3]=3插入到$arr[1]位置,再繼續(xù)把9插入到合位置,最終得到的結(jié)果是(9,6,3,2)。同樣是經(jīng)過 count($arr)-1 次大循環(huán),即可實現(xiàn)排序。

代碼規(guī)律分析:

第一次大循環(huán):$[1]與$[0]比;
第二次大循環(huán):$[2]與$[1]比,$[1]與$[0]比;
第三次大循環(huán):$[3]與$[2]比,$[2]與$[1]比,$[1]與$[0]比;

PHP代碼,使用了函數(shù)封裝,以便于使用

<?php
function insertSort(&$arr){
 for($i=1;$i<count($arr);$i++){
 //$insertVal是準(zhǔn)備插入的數(shù)
 for($j=$i;$j>0;$j--){
  if($arr[$j]>$arr[$j-1]){
  $insertVal = $arr[$j];
  $arr[$j] = $arr[$j-1];
  $arr[$j-1] = $insertVal;
  }
 }
 }
}
$myarr = array(2,6,3,9);
insertSort($myarr);
echo "<pre>";
print_r($myarr);
?>

代碼實現(xiàn)分析:

第一次大循環(huán):

$i=1 數(shù)組(2,6,3,9)
$j=1 執(zhí)行6和2比:$arr[1]=2;$arr[0]=6,得到(6,2,3,9)

第二次大循環(huán):

$i=2 數(shù)組(6,2,3,9)
$j=2 執(zhí)行3和2比:變成$arr[2]=2,$arr[1]=3,得到(6,3,2,9)
$j--,$j=1 執(zhí)行$arr[1]和$arr[0]比:條件不成立

第三次大循環(huán):

$i=3 數(shù)組(6,3,2,9)
$j=3 執(zhí)行9和2比:變成$arr[3]=2,$arr[2]=9,得到(6,3,9,2)
$j--,$j=2 執(zhí)行9和3比:變成$arr[2]=3,$arr[1]=9,得到(6,9,3,2)
$j--,$j=1 執(zhí)行9和6比:變成$arr[1]=5,$arr[0]=9,得到(9,6,3,2)

希望本文所述對大家的php程序設(shè)計有所幫助。

相關(guān)文章

最新評論

和平区| 杭州市| 松阳县| 喀什市| 江陵县| 淳安县| 类乌齐县| 靖远县| 库伦旗| 航空| 民丰县| 巢湖市| 洛南县| 卢龙县| 东安县| 西平县| 清镇市| 曲周县| 武定县| 彰化县| 松潘县| 阿瓦提县| 交口县| 凤台县| 绥芬河市| 临夏县| 兰州市| 阜宁县| 托克托县| 铁岭县| 拉孜县| 定安县| 滦平县| 东莞市| 五大连池市| 石楼县| 潜江市| 沈阳市| 沅陵县| 万山特区| 桦川县|