53、PHP 实现归并排序
创始人
2024-11-14 17:34:15
0

题目: PHP 实现归并排序

描述:

  • 将指定的两个有序数组(arr1,arr2)合并并且排序
  • 我们可以找到第三个数组,然后依次从两个数组的开始取数据
  • 哪个数据小就先取哪个的,然后删除掉刚刚取过的数据
function al_merge($arrA,$arrB) {     $arrC = array();     while(count($arrA) && count($arrB)){         //这里不断的判断哪个值小,就将小的值给到arrC,但是到最后肯定要剩下几个值,         //不是剩下arrA里面的就是剩下arrB里面的而且这几个有序的值,肯定比arrC里面所有的值都大所以使用         $arrC[] = $arrA['0'] < $arrB['0'] ? array_shift($arrA) : array_shift($arrB);     }     return array_merge($arrC, $arrA, $arrB); } //归并排序主程序 function al_merge_sort($arr){     $len=count($arr);     if($len <= 1)         return $arr;//递归结束条件,到达这步的时候,数组就只剩下一个元素了,也就是分离了数组     $mid = intval($len/2);//取数组中间     $left_arr = array_slice($arr, 0, $mid);//拆分数组0-mid这部分给左边left_arr     $right_arr = array_slice($arr, $mid);//拆分数组mid-末尾这部分给右边right_arr     $left_arr = al_merge_sort($left_arr);//左边拆分完后开始递归合并往上走     $right_arr = al_merge_sort($right_arr);//右边拆分完毕开始递归往上走     $arr=al_merge($left_arr, $right_arr);//合并两个数组,继续递归     return $arr; } 

相关内容

热门资讯

透视手筋!德普之星辅助器怎么用... 透视手筋!德普之星辅助器怎么用,wpk可以作必弊吗(透视)果然是有挂(哔哩哔哩)1)德普之星辅助器怎...
透视法门!aapoker发牌逻... 透视法门!aapoker发牌逻辑(透视)开挂透视平台(哔哩哔哩)1、许多玩家不知道aapoker发牌...
透视教材!hhpoker有没有... 透视教材!hhpoker有没有外开挂,hhpoker有后台操作吗(透视)一直存在有透视器(哔哩哔哩)...
揭秘几款"点星休闲辅... 揭秘几款"点星休闲辅助器下载"真是真的是有辅助插件(有挂教程)-哔哩哔哩1、点星休闲辅助器下载破解器...
透视阶段!智星德州可以透视吗,... 透视阶段!智星德州可以透视吗,wepoker怎么下载游戏(透视)都是存在有挂(哔哩哔哩);一、智星德...
透视模板!wepoker钻石怎... 透视模板!wepoker钻石怎么看底牌(透视)开挂脚本安装(哔哩哔哩)亲,关键说明,wepoker钻...
透视经验!pokemmo免费脚... 透视经验!pokemmo免费脚本,poker world辅助(透视)果然是真的脚本工具(哔哩哔哩)1...
实测揭晓!"丽水都莱... 实测揭晓!"丽水都莱大菠萝辅助"竟然有有辅助方法(有挂方针)-哔哩哔哩进入游戏-大厅左侧-新手福利-...
透视方式!wepoker私人局... 透视方式!wepoker私人局辅助器怎么用,pokemmo辅助工具(透视)果然真的是有挂(哔哩哔哩)...
透视绝活!hhpoker德州透... 透视绝活!hhpoker德州透视(透视)开挂脚本插件(哔哩哔哩)1、hhpoker德州透视透视辅助软...