交換函式:注意要按引用傳遞,否則無法真正交換兩個數的值
function exchange(&$a, &$b1、直接插入演算法)
//2、希爾排序演算法【暫缺】3、直接選擇排序演算法第一種實現
function insert_sort($arr
) }
}return
$arr
; }
//第二種實現
function insert_sort($arr
)
$j--;}}
return
$arr
; }
function select_sort($arr4、堆排序演算法【暫缺】5、氣泡排序演算法) }
$arr[$n] = $arr[$i
];
$arr[$i] = $key
; }
return
$arr
; }
//6、快速排序演算法第一種function bubble_sort($arr
) }
}return
$arr
; }
//第二種
function bubble_sort($arr
)
$j++;}}
return
$arr
; }
function quick_sort(&$arr, $p, $r7、歸併排序演算法【注意:陣列按值傳輸】) }
function partition(&$arr, $p, $r
) }
exchange(
$arr[$n+1], $arr[$r
]);
return
$n+1; //
n位上的元素,一經排序,則已固定
}
function merge_sort(&$a, $p, $r8、基數排序演算法【暫缺】) }
//第一種
function merge(&$a, $p, $q, $r)
for($j = 0; $j
< $n2; $j++)
//防止越界(哨兵)
$l[$n1] = $r[$n2] =php_int_max;
$i = $j = 0;
for($k = $p; $k
<= $r; $k++)
else}}
//第二種
function merge(&$a, $p, $q, $r
)
for($j = 0; $j
< $n2; $j++)
$i = $j = 0;
$k = $p
;
while($i
)else
}for(; $i
for(; $j
}
八大基本演算法思想及實現 php實現
快遞排序 歸併排序 查詢排序 遞推演算法 遞迴 f 1 1 f 2 1 des 15 for i 3 i des i 檢視 echo print r f 遞迴演算法 遞迴思想 遞迴一定要有函式 function recursion n echo recursion 15 氣泡排序 氣泡排序 arr ...
八大演算法思想
下面介紹一下最常用的八大演算法思想 一 比較 笨 的列舉演算法 基本思路 1 確定列舉物件 列舉範圍和判定條件 2 注意列舉可能的解,驗證每個節是否是問題的解 列舉演算法步驟 1 題解的可能範圍,補能遺漏任何乙個真正解,也要避免有重複 2 判斷是否真正解的方法 3 使可能解的範圍降至最小,以便提高解...
八大排序演算法Java實現
常見的八大排序演算法,它們之間的關係如下 經常碰到這樣一類排序問題 把新的資料插入到已經排好的資料列中。將第乙個數和第二個數排序,然後構成乙個有序序列 將第三個數插入進去,構成乙個新的有序序列。對第四個數 第五個數 直到最後乙個數,重複第二步。首先設定插入次數,即迴圈次數,for int i 1 i...