欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php插入排序法實(shí)現(xiàn)數(shù)組排序?qū)嵗?/h1>
 更新時(shí)間:2015年02月16日 14:30:11   作者:php之路  
這篇文章主要介紹了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ù)封裝,以便于使用

<?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);
?>

代碼實(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ì)有所幫助。

相關(guān)文章

  • PHP獲取數(shù)組中重復(fù)最多的元素的實(shí)現(xiàn)方法

    PHP獲取數(shù)組中重復(fù)最多的元素的實(shí)現(xiàn)方法

    這篇文章主要介紹了PHP獲取數(shù)組中重復(fù)最多的元素的實(shí)現(xiàn)方法,通過一個(gè)自定義函數(shù)遍歷數(shù)組實(shí)現(xiàn)這一功能,是非常使用的技巧,需要的朋友可以參考下
    2014-11-11
  • 用PHP書寫安全的腳本代碼

    用PHP書寫安全的腳本代碼

    在很長一段時(shí)間內(nèi),PHP作為服務(wù)器端腳本語言的最大賣點(diǎn)之一就是會(huì)為從表單提交的值自動(dòng)建立一個(gè)全局變量。在PHP 4.1中,PHP的制作者們推薦了一個(gè)訪問提交數(shù)據(jù)的替代手段
    2012-02-02
  • PHP之變量、常量學(xué)習(xí)筆記

    PHP之變量、常量學(xué)習(xí)筆記

    親密接觸PHP之變量、常量學(xué)習(xí)筆記(閱讀筆記自PHP手冊(cè)) PHP 中一個(gè)美元符號(hào)($)后面跟上一個(gè)變量名稱,即表示一個(gè)變量。變量的名稱是對(duì)大小寫敏感的。其中變量名允許數(shù)字或下劃線打頭。
    2008-03-03
  • 解析php開發(fā)中的中文編碼問題

    解析php開發(fā)中的中文編碼問題

    其實(shí)php開發(fā)中的中文編碼并沒有想像的那么復(fù)雜,雖然定位和解決問題沒有定規(guī),各種運(yùn)行環(huán)境也各不盡然,但后面的原理是一樣的。了解字符集的知識(shí)是解決字符問題的基礎(chǔ)
    2013-08-08
  • PHP調(diào)試的強(qiáng)悍利器之PHPDBG

    PHP調(diào)試的強(qiáng)悍利器之PHPDBG

    這篇文章主要為大家詳細(xì)介紹了PHP調(diào)試的強(qiáng)悍利器之PHPDBG的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 如何使用Laravel Eloquent來開發(fā)無限極分類

    如何使用Laravel Eloquent來開發(fā)無限極分類

    在網(wǎng)上商城上,我們經(jīng)??梢钥吹蕉嗉?jí)分類、子分類、甚至無限極分類。本文將向你展示如何優(yōu)雅的通過 Laravel Eloquent 將其實(shí)現(xiàn)。
    2021-05-05
  • PHP常用函數(shù)之獲取漢字首字母功能示例

    PHP常用函數(shù)之獲取漢字首字母功能示例

    這篇文章主要介紹了PHP常用函數(shù)之獲取漢字首字母功能,結(jié)合實(shí)例形式分析了php漢字編碼轉(zhuǎn)換、截取、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • codeigniter實(shí)現(xiàn)get分頁的方法

    codeigniter實(shí)現(xiàn)get分頁的方法

    這篇文章主要介紹了codeigniter實(shí)現(xiàn)get分頁的方法,涉及使用codeigniter框架查詢數(shù)據(jù)量及針對(duì)結(jié)果集進(jìn)行g(shù)et方法分頁的相關(guān)技巧,非常簡單實(shí)用,需要的朋友可以參考下
    2015-07-07
  • PHP中大括號(hào)''{}''用法實(shí)例總結(jié)

    PHP中大括號(hào)''{}''用法實(shí)例總結(jié)

    這篇文章主要介紹了PHP中大括號(hào)'{}'用法,結(jié)合實(shí)例形式總結(jié)分析了php中大括號(hào)在復(fù)合語句及變量界定等方面的使用技巧,需要的朋友可以參考下
    2017-02-02
  • 淺談如何提高PHP代碼質(zhì)量之單元測(cè)試

    淺談如何提高PHP代碼質(zhì)量之單元測(cè)試

    最常見的測(cè)試軟件的方法可能是編寫單元測(cè)試。它們的目的是測(cè)試代碼的特定單元,基于這樣的假設(shè):一切都按預(yù)期運(yùn)行。為了能夠編寫適當(dāng)?shù)膯卧獪y(cè)試,我們的代碼應(yīng)該遵循一些基本的設(shè)計(jì)規(guī)則。我們應(yīng)該特別關(guān)注 SOLID 原則。
    2021-05-05

最新評(píng)論