PHP实现常见排序算法
2016-02-17 16:11
696 查看
<? //插入排序(一维数组) function insert_sort($arr){ $count = count($arr); for($i=1; $i<$count; $i++){ $tmp = $arr[$i]; $j = $i - 1; while($arr[$j] > $tmp){ $arr[$j+1] = $arr[$j]; $arr[$j] = $tmp; $j--; } } return $arr; } //选择排序(一维数组) function select_sort($arr){ $count = count($arr); for($i=0; $i<$count; $i++){ $k = $i; for($j=$i+1; $j<$count; $j++){ if ($arr[$k] > $arr[$j]) $k = $j; if ($k != $i){ $tmp = $arr[$i]; $arr[$i] = $arr[$k]; $arr[$k] = $tmp; } } } return $arr; } //冒泡排序(一维数组) function bubble_sort($array){ $count = count($array); if ($count <= 0) return false; for($i=0; $i<$count; $i++){ for($j=$count-1; $j>$i; $j--){ if ($array[$j] < $array[$j-1]){ $tmp = $array[$j]; $array[$j] = $array[$j-1]; $array[$j-1] = $tmp; } } } return $array; } //快速排序(一维数组) function quick_sort($array){ if (count($array) <= 1) return $array; $key = $array[0]; $left_arr = array(); $right_arr = array(); for ($i=1; $i<count($array); $i++){ if ($array[$i] <= $key) $left_arr[] = $array[$i]; else $right_arr[] = $array[$i]; } $left_arr = quick_sort($left_arr); $right_arr = quick_sort($right_arr); return array_merge($left_arr, array($key), $right_arr); } ?>
相关文章推荐
- php-fpm 启动参数及重要配置详解
- 计算一段日期内的周末天数的php代码(星期六,星期日总和)
- laravel The requested URL /test was not found on this server.
- 解决:本地测试wordpress安装主题需要FTP问题
- Coreseek + Sphinx + Mysql + PHP构建中文检索引擎
- php把数据集转换成树状结构,无限极分类生成树状
- Ubuntu搭建SFtp
- 一个PHP数组帮助类
- PHP常用正则表达式汇总
- PHP的MongoException异常报错
- windows下搭建php环境
- php 抽奖算法 权重
- 编译php 出现 make: *** [ext/mysqli/mysqli.lo] Error 1 错误的解决办法
- PHP编程效率的20个要点
- CenOS6.5配置vsftp
- Laravel 数据插入
- 几个靠谱的ntp服务器
- 那些强悍的PHP一句话后门
- 如何使用WampServer搭建PHP服务器
- PHP位运算 详解