成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

PHP插入排序

masturbator / 3455人閱讀

摘要:冒泡排序?qū)?shù)組按從小到大進(jìn)行排序得到結(jié)果比較,邏輯大致是這樣的。默認(rèn)第一個(gè)元素是最小值,所以從第二個(gè)元素開始一次與前面的元素進(jìn)行比較,插入到合適的位置時(shí)將與進(jìn)行比較。發(fā)現(xiàn)比大,跳出本次循環(huán),此時(shí)數(shù)組依然為

冒泡排序

對(duì)數(shù)組$arr = [9,7,2,77,31]按從小到大進(jìn)行排序

$arr = [9,7,2,77,31];
$length = count($arr);
for($i=1;$i<$length;$i++)
{
    $tmp = $arr[$i];
    for ($j=$i-1;$j>=0;$j--)
    {
        if($tmp<$arr[$j])
        {
            $arr[$j+1] = $arr[$j];
            $arr[$j] = $tmp;
        }
        else
        {
            break;
        }
    }
   
}
print_r($arr);
得到結(jié)果
Array
(
    [0] => 2
    [1] => 7
    [2] => 9
    [3] => 31
    [4] => 77
)

比較,邏輯大致是這樣的。默認(rèn)第一個(gè)元素是最小值,所以從第二個(gè)元素開始一次與前面的元素進(jìn)行比較,插入到合適的位置

i=1

j=0 時(shí);將79進(jìn)行比較。發(fā)現(xiàn)79小,交換位置,此時(shí)得到數(shù)組[7,9,2,77,31]

i=2

j=1時(shí);將29進(jìn)行比較。發(fā)現(xiàn)29小,交換位置,此時(shí)得到數(shù)組[7,2,9,77,31]

j=0時(shí);將27進(jìn)行比較。發(fā)現(xiàn)27小,交換位置,此時(shí)得到數(shù)組[2,7,9,77,31]

i=3

j=2時(shí);將779進(jìn)行比較。發(fā)現(xiàn)779大,跳出本次循環(huán),此時(shí)數(shù)組依然為[2,7,9,77,31]

i=4

j=3時(shí);將3177進(jìn)行比較。發(fā)現(xiàn)3177小,交換位置,此時(shí)得到數(shù)組[2,7,9,31,77]

j=2時(shí);將931進(jìn)行比較。發(fā)現(xiàn)319大,跳出本次循環(huán),此時(shí)數(shù)組依然為[2,7,9,31,77]

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/29409.html

相關(guān)文章

  • PHP排序算法之插入排序

    摘要:直接插入排序是由兩層嵌套循環(huán)組成的。插入排序的基本方法是每步將一個(gè)待排序的記錄按其關(guān)鍵字的大小插到前面已經(jīng)排序的序列中的適當(dāng)位置,直到全部記錄插入完畢為止。算法實(shí)現(xiàn)直接插入排序記錄后移插入到正確的位置運(yùn)行結(jié)果 算法引入: 在這里我們依然使用《大話數(shù)據(jù)結(jié)構(gòu)》里面的一個(gè)例子: 撲克牌是我們幾乎每個(gè)人都玩過的游戲。平時(shí)我們開始的時(shí)候一般都是一個(gè)人發(fā)牌,其他人都是一邊摸牌,一邊理牌,假如你摸上...

    rose 評(píng)論0 收藏0
  • PHP 實(shí)現(xiàn)插入排序

    摘要:插入排序插入排序英語是一種簡單直觀的排序算法。插入排序在實(shí)現(xiàn)上,通常采用排序即只需用到的額外空間的排序,因而在從后向前掃描過程中,需要反復(fù)把已排序元素逐步向后挪位,為最新元素提供插入空間。一般來說,插入排序都采用在數(shù)組上實(shí)現(xiàn)。 導(dǎo)語 關(guān)于排序的算法,就此告一段落。冒泡排序、快速排序、選擇排序、加上本篇的插入排序,這四種算法都是相對(duì)簡單,容易理解的。更復(fù)雜的算法,就不獻(xiàn)丑了,以免誤人子弟...

    DoINsiSt 評(píng)論0 收藏0
  • php插入排序,快速排序,歸并排序,堆排序

    摘要:的陣列視為基本型別,所以必須用傳參考才能修改原陣列插入排序快速排序歸并排序堆排序獲取個(gè)數(shù)處理一半的數(shù)據(jù) function bubble_sort(&$arr) {//php的陣列視為基本型別,所以必須用傳參考才能修改原陣列 for ($i = 0; $i < count($arr) - 1; $i++) for ($j = 0; $j < count($arr)...

    JerryZou 評(píng)論0 收藏0
  • 比較排序算法(PHP

    摘要:總結(jié)比較排序算法都是空間復(fù)雜度為的原地排序算法,其中冒泡排序和插入排序兩兩比較不會(huì)交換相等的記錄,所以這兩種排序都是穩(wěn)定排序,而選擇排序只是記錄最小值最后進(jìn)行交換,所以會(huì)破壞相對(duì)順序,選擇排序不是穩(wěn)定算法。 冒泡排序 兩兩比較相鄰記錄的關(guān)鍵字,如果反序則交換,大的數(shù)字往下沉,一直到最大的出現(xiàn)在數(shù)組最后 function swap(&$x, &$y) { $temp = $x; ...

    浠ラ箍 評(píng)論0 收藏0
  • PHP算法之四大基礎(chǔ)算法

    摘要:而在證明算法是正確的基礎(chǔ)上,第二步就是分析算法的時(shí)間復(fù)雜度。算法的時(shí)間復(fù)雜度反映了程序執(zhí)行時(shí)間隨輸入規(guī)模增長而增長的量級(jí),在很大程度上能很好反映出算法的優(yōu)劣與否。 showImg(https://segmentfault.com/img/remote/1460000016451712?w=800&h=341); 前言 雖然工作中,你覺得自己并沒有涉及到算法這方面的東西,但是算法是程序的...

    isLishude 評(píng)論0 收藏0
  • PHP面試:說下什么是堆和堆排序?

    摘要:一個(gè)常見的例子就是優(yōu)先隊(duì)列,還有排序算法之一的堆排序。另外我們還將學(xué)習(xí)堆排序,并將使用實(shí)現(xiàn)堆。堆排序在堆排序中,我們需要用給定的值構(gòu)建一個(gè)一個(gè)堆。偽代碼如下從上面的偽代碼可以看到,堆排序的第一步就是構(gòu)建一個(gè)堆。 堆是什么? 堆是基于樹抽象數(shù)據(jù)類型的一種特殊的數(shù)據(jù)結(jié)構(gòu),用于許多算法和數(shù)據(jù)結(jié)構(gòu)中。一個(gè)常見的例子就是優(yōu)先隊(duì)列,還有排序算法之一的堆排序。這篇文章我們將討論堆的屬性、不同類型的堆...

    twohappy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<