我寫的關於在PHP中堆排序的任務。我有點困難。請幫幫我。任何向我推薦代碼的人。 在此先感謝。如何在PHP中堆排序?
0
A
回答
6
你有沒有使用這個? 看看這個。 Heap Sorting in PHP
<?php
function build_heap(&$array, $i, $t){
$tmp_var = $array[$i];
$j = $i * 2 + 1;
while ($j <= $t) {
if($j < $t)
if($array[$j] < $array[$j + 1]) {
$j = $j + 1;
}
if($tmp_var < $array[$j]) {
$array[$i] = $array[$j];
$i = $j;
$j = 2 * $i + 1;
} else {
$j = $t + 1;
}
}
$array[$i] = $tmp_var;
}
function heap_sort(&$array) {
//This will heapify the array
$init = (int)floor((count($array) - 1)/2);
// Thanks jimHuang for bug report
for($i=$init; $i >= 0; $i--){
$count = count($array) - 1;
build_heap($array, $i, $count);
}
//swaping of nodes
for ($i = (count($array) - 1); $i >= 1; $i--) {
$tmp_var = $array[0];
$array [0] = $array [$i];
$array [$i] = $tmp_var;
build_heap($array, 0, $i - 1);
}
}
// Demo
$array = array(9,8,7,6,5,4,3,2,1,0,10,1000,0);
heap_sort($array);
print_r($array);
?>
相關問題
- 1. python如何在堆中排序值?
- 2. 如何排序在PHP
- 3. 如何排序在PHP
- 4. 如何排序在PHP
- 5. 如何排序在PHP
- 6. 如何排序在PHP
- 7. 堆排序heapify排序
- 8. OS X包含堆排序stdlib.h中與堆排序中排序庫
- 9. 如何在PHP中反向排序值?
- 10. 我如何排序數組在PHP中
- 11. 如何在php中排序xml文件
- 12. 如何在php中排序數據
- 13. 堆排序heapify
- 14. 在java代碼中進行堆排序?
- 15. C++迭代器:如何查找在索引中堆排序
- 16. 1-ary堆排序?
- 17. 最大堆排序
- 18. 堆排序問題
- 19. Java - 排序堆棧
- 20. 堆排序outfoxing我
- 21. 堆排序陣列
- 22. 堆排序複雜
- 23. 實現堆排序
- 24. PHP readdir/opendir如何排序
- 25. 我如何排序由php
- 26. 如何排序數字PHP
- 27. 如何排序PHP日期
- 28. 按升序排序堆棧?
- 29. 排序陣列使用堆排序
- 30. 使用插入排序的堆排序?
歡迎來到SO!如果你能顯示你有多遠,以及你有什麼問題,你更有可能得到有用的迴應。 – bdares 2011-05-19 05:04:58
如果php是問題,你可以開始編寫僞代碼,然後獲得幫助翻譯它。 – chelmertz 2011-05-19 05:05:57