国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php插入排序法實(shí)現(xiàn)數(shù)組排序?qū)嵗?/h1>
2024-05-04 23:31:27
字體:
供稿:網(wǎng)友

這篇文章主要介紹了php插入排序法實(shí)現(xiàn)數(shù)組排序,實(shí)例分析了插入排序法的原理與具體的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

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

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

實(shí)現(xiàn)原理:假設(shè)(并不實(shí)際創(chuàng)建)有一個(gè)有序數(shù)組$arr = array(2),用$arr[1]=6來與它進(jìn)行比較,如果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),即可實(shí)現(xiàn)排序。

代碼規(guī)律分析:

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

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

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

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

 

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

代碼實(shí)現(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)

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

主站蜘蛛池模板: 定兴县| 项城市| 平江县| 鄂托克前旗| 容城县| 赣州市| 锡林郭勒盟| 稷山县| 淅川县| 临海市| 响水县| 香河县| 潜江市| 台中市| 竹山县| 达拉特旗| 虹口区| 平果县| 遂宁市| 聊城市| 高州市| 灵台县| 永顺县| 延庆县| 镇康县| 高陵县| 霍州市| 巨鹿县| 铁力市| 巫溪县| 锦州市| 洛扎县| 仙居县| 揭东县| 通州区| 洮南市| 盐边县| 湘阴县| 和顺县| 望谟县| 炎陵县|