七大常用的PHP算法.docx

上传人:牧羊曲112 文档编号:3196758 上传时间:2023-03-11 格式:DOCX 页数:4 大小:36.90KB
返回 下载 相关 举报
七大常用的PHP算法.docx_第1页
第1页 / 共4页
七大常用的PHP算法.docx_第2页
第2页 / 共4页
七大常用的PHP算法.docx_第3页
第3页 / 共4页
七大常用的PHP算法.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《七大常用的PHP算法.docx》由会员分享,可在线阅读,更多相关《七大常用的PHP算法.docx(4页珍藏版)》请在三一办公上搜索。

1、七大常用的PHP算法七大常用PHP算法1、冒泡排序 2、归并排序 3、二分查找-递归 4、二分查找-非递归 5、快速排序 6、选择排序 7、插入排序 下面一一示例介绍 1、冒泡排序 function bubble_sort($arr) $n = count($arr); for ($i = 0; $i $n - 1; $i+) for ($j = $i + 1; $j $n; $j+) if ($arr$j $arr$i) $temp = $arr$i; $arr$i = $arr$j; $arr$j = $temp; return $arr; 2、归并排序 function Merge(&$

2、arr, $left, $mid, $right) $i = $left; $j = $mid + 1; $k = 0; $temp = array; while ($i = $mid & $j = $right) if ($arr$i = $arr$j) $temp$k+ = $arr$i+; else $temp$k+ = $arr$j+; while ($i = $mid) $temp$k+ = $arr$i+; while ($j = $right) $temp$k+ = $arr$j+; for ($i = $left, $j = 0; $i = $right; $i+, $j+)

3、$arr$i = $temp$j; function MergeSort(&$arr, $left, $right) if ($left $high) return false; else $mid = floor($low + $high) / 2); if ($value = $arr$mid) return $mid; elseif ($value $arr$mid) return bin_search($arr, $low, $mid - 1, $value); else return bin_search($arr, $mid + 1, $high, $value); 4、二分查找-

4、非递归 function bin_search($arr, $low, $high, $value) while ($low = $high) $mid = floor($low + $high) / 2); if ($value = $arr$mid) return $mid; elseif ($value $arr$mid) $high = $mid - 1; else $low = $mid + 1; return false; 5、快速排序 function quick_sort($arr) $n = count($arr); if ($n = 1) return $arr; $key

5、 = $arr0; $left_arr = array; $right_arr = array; for ($i = 1; $i $n; $i+) if ($arr$i = $key) $left_arr = $arr$i; else $right_arr = $arr$i; $left_arr = quick_sort($left_arr); $right_arr = quick_sort($right_arr); return array_merge($left_arr, array($key), $right_arr); 6、选择排序 function select_sort($arr)

6、 $n = count($arr); for ($i = 0; $i $n; $i+) $k = $i; for ($j = $i + 1; $j $n; $j+) if ($arr$j $arr$k) $k = $j; if ($k != $i) $temp = $arr$i; $arr$i = $arr$k; $arr$k = $temp; return $arr; 7、插入排序 function insertSort($arr) $n = count($arr); for ($i = 1; $i $tmp) $arr$j + 1 = $arr$j; $arr$j = $tmp; $j-; if ($j 0) break; return $arr;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号