首页 / PHP / 常见排序算法(PHP实现)
常见排序算法(PHP实现)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了常见排序算法(PHP实现),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1810字,纯文字阅读大概需要3分钟。
内容图文
function InsertSort($arr){ $num = count($arr); for($i = 1; $i < $num; $i++){ $key = $arr[$i]; for($j = $i - 1; $j >= 0; $j--){ if($arr[$j] > $key){ $arr[$j + 1] = $arr[$j]; $arr[$j] = $key; } } } return$arr; } function BubbleSort($arr){ $num = count($arr); for( $i = 1; $i < $num; $i++ ){ for($j = $num -1; $j >= $i; $j-- ){ if( $arr[$j] < $arr[$j - 1] ){ $tmp_val = $arr[$j - 1]; $arr[$j - 1] = $arr[$j]; $arr[$j] = $tmp_val; } } } return$arr; } function BucketSort($arr){ $bucket = array(); $idx = 0; foreach ($arras$value) { if(!is_int($value)) continue; $bucket[$value] = $value; if($value > $idx) $idx = $value; } $rst = array(); for($i = 0; $i <= $idx; $i++){ if(isset($bucket[$i])){ $rst[] = $bucket[$i]; } } return$rst; } function ExchangeSort($arr){ $num = count($arr); for($i = 0; $i < $num -1; $i++){ for($j = $i + 1; $j < $num; $j++){ if($arr[$i] > $arr[$j]){ $tmp = $arr[$i]; $arr[$i] = $arr[$j]; $arr[$j] = $tmp; } } } return$arr; } function QuickSort($arr){ $num = count($arr); $l_num = $r_num = 0; $left = $right = array(); for($i = 1; $i < $num; $i++){ if($arr[$i] >= $arr[0]){ $right[] = $arr[$i]; $r_num++; }else{ $left[] = $arr[$i]; $l_num++; } } if($l_num > 1){ $left = QuickSort($left); } $left[] = $arr[0]; if($r_num > 1){ $right = QuickSort($right); } for($i = 0; $i < $r_num; $i++){ $left[] = $right[$i]; } return$left; } function PigeonholeSort($arr){ $pigeonhole = array(); foreach ($arras$value) { if(!is_int($value)) continue; if(isset($pigeonhole[$value])) $pigeonhole[$value]++; else$pigeonhole[$value] = 0; } $rst = array(); $i = 0; while($pigeonhole[$i]){ for($j = 0; $j < $pigeonhole[$i]; $j++){ $rst[] = $i; } $i++; } return$rst; }
原文:http://www.cnblogs.com/zhaobolu/p/3781844.html
内容总结
以上是互联网集市为您收集整理的常见排序算法(PHP实现)全部内容,希望文章能够帮你解决常见排序算法(PHP实现)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。