国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

主站蜘蛛池模板: 丹江口市| 腾冲县| 独山县| 东源县| 大悟县| 朝阳区| 永善县| 岑巩县| 贞丰县| 五莲县| 大余县| 南皮县| 中山市| 科技| 祥云县| 新竹县| 常山县| 长泰县| 策勒县| 申扎县| 敦化市| 乌审旗| 海伦市| 青铜峡市| 卓资县| 航空| 花莲市| 嘉禾县| 东阳市| 汉中市| 和平县| 集安市| 牡丹江市| 蒙阴县| 宜良县| 沐川县| 凌源市| 泗洪县| 三原县| 秦皇岛市| 鹤庆县|