<?php
$arr=array("1","5","9","6","8","2","3","4","7");
function merge(&$array,$p,$q,$r)
for($j=0;$j<$n2;$j++)
$l[$n1]=999;
$r[$n2]=999;
$i=0;$j=0;
for($k=$p;$k<=$r;$k++)
else
$array[$k]=$temp;
}dispalay($array);
}function mergesort(&$array,$p,$r)
} function dispalay(&$arr)
{for($i=0;$i輸出結果為:
1:5:9:6:8:2:3:4:7:
1:5:9:6:8:2:3:4:7:
1:5:9:6:8:2:3:4:7:
1:5:6:8:9:2:3:4:7:
1:5:6:8:9:2:3:4:7:
1:5:6:8:9:2:3:4:7:
1:5:6:8:9:2:3:4:7:
1:2:3:4:5:6:7:8:9:
結果分析:
1.對於,原始序列(1,5,9,6,8,2,3,4,7),進行兩兩劃分
2.第一趟排序是對1,5進行歸併排序
3.第二趟排序是對1,5,9進行歸併排序
4.第三趟排序是對6,8進行歸併排序
5.第四趟排序是對1,5,9,6,8進行歸併排序
6.第五趟排序是對2,3進行歸併排序
7.第六趟排序是對4,7進行歸併排序
8.第七趟排序是對2,3,4,7進行歸併排序
9.第八趟排序是對1,5,6,8,9,2,3,4,7進行歸併排序
七大排序演算法之歸併排序
雖然歸併排序在七大排序演算法中,不是那麼的出眾,但是畢竟人家是乙個穩定的演算法,所以,技多不壓身,何樂為不為呢 還是乙個分治的思想,將乙個陣列分為兩部分,然後對左邊歸併排序,對右邊歸併排序,再將兩個有序子陣列合併即可,那麼怎麼合併兩個陣列呢,簡單一點的辦法就是建立乙個臨時陣列,然後不斷遍歷二個陣列的...
七大排序之希爾排序
希爾排序的實質就是分組插入排序,該方法又稱 縮小增量排序 因dl shell於1959年提出而得名。該方法的基本思想是 先將整個待排元素序列分割成若干個子串行 由相隔某個 增量 的元素 組成的 分別進行直接插入排序,然後依次縮減增量再進行排序,待整個序列中的元素基本有序 增量足夠小 時,再對全體元素...
七大排序之堆排序
堆排序與快速排序,歸併排序一樣都是時間複雜度為o n logn 的幾種常見排序方法。學習堆排序前,先講解下什麼是資料結構中的二叉堆。二叉堆是完全二叉樹或者是近似完全二叉樹。二叉堆滿足二個特性 1 父結點的鍵值總是大於或等於 小於或等於 任何乙個子節點的鍵值。2 每個結點的左子樹和右子樹都是乙個二叉堆...