用php实现几种常见的排序算法

上传人:m**** 文档编号:46367032 上传时间:2018-06-26 格式:DOCX 页数:6 大小:36.52KB
返回 下载 相关 举报
用php实现几种常见的排序算法_第1页
第1页 / 共6页
用php实现几种常见的排序算法_第2页
第2页 / 共6页
用php实现几种常见的排序算法_第3页
第3页 / 共6页
用php实现几种常见的排序算法_第4页
第4页 / 共6页
用php实现几种常见的排序算法_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《用php实现几种常见的排序算法》由会员分享,可在线阅读,更多相关《用php实现几种常见的排序算法(6页珍藏版)》请在金锄头文库上搜索。

1、用用 phpphp 实现几种常见的排序算法(代码实例)实现几种常见的排序算法(代码实例)一、冒泡排序冒泡排序理解起来是最简单,但是时间复杂度(O(n2))也是最大的之一,实现代码如下:? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17function bubbleSort($arr) $len = count($arr);for ($i = 0; $i $arr$j) $t = $arr$i;$arr$i = $arr$j;$arr$j = $t; return $arr; $arr = 3,1,13,5,7,11,2,4,14,9,15,6,12,10,8

2、; print_r(bubbleSort($arr);二、选择排序选择排序理解起来也比较简单,时间复杂度也是 O(n2),实现代码如下:? 1 2 3 4 5 6 7 8 9 10 11 12 13function selectSort($arr) $len = count($arr);for ($i = 0; $i = 0 $i = 0 $i-) $s = $i;$childIndex = $s * 2 + 1;while ($childIndex 0; $i-) $t = $arr$i;$arr$i = $arr0;$arr0 = $t;/ 调整第一个元素$s = 0;$childInde

3、x = 1;while ($childIndex = $temp) $right-; if ($left $right) $arr$left+ = $arr$right; while ($left $right if ($left $right) $arr$right- = $arr$left; $arr$left = $temp;/ 把数组分成两部分,递归调用该函数quickSortRecursion($arr, $begin, $left - 1);quickSortRecursion($arr, $left + 1, $end);return $arr; $arr = 3,1,13,5,

4、7,11,2,4,14,9,15,6,12,10,8; print_r(bubbleSort($arr);七、归并排序归并排序的时间复杂度也是 O(nlogn)。原理是:对于两个排序好的数组,分别遍历这两个数组,获取较小的元素插入新的数组中,那么,这么新的数组也会是排序好的。代码如下:? 1 2 3 4 5 6 7 8 9 10 11 12 13 14function mergeSort($arr) $len = count($arr);$arr = mergeSortRecursion($arr, 0, $len - 1);return $arr; function mergeSortRec

5、ursion(/ 把数组不断拆分,只到只剩下一个元素,对于一个元素的数组,一定是排序好的mergeSortRecursion($arr, $begin, $mid);mergeSortRecursion($arr, $mid + 1, $end);$i = $begin;$j = $mid + 1;15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39$k = 0;$temp = array();/ 开始执行归并,遍历两个数组,从它们里面取较小的元素插入到新数组中while ($i = $mid else $temp$k+ = $arr$j+; while ($i = $mid) $temp$k+ = $arr$i+;while ($j = $end) $temp$k+ = $arr$j+;for ($i = 0; $i $k; $i+) $arr$i + $begin = $temp$i;return $arr; $arr = 3,1,13,5,7,11,2,4,14,9,15,6,12,10,8; print_r(bubbleSort($arr);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > PHP资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号