算法原理:
PHP代码:
function mergeSort($arr) {$count = count($arr);if ($count < 2) {return $arr;}$middle = floor($count/2);$left = array_slice($arr, 0, $middle);$right = array_slice($arr, $middle);$left = mergeSort($left);$right = mergeSort($right);return merge($left, $right);}function merge($arr1, $arr2) {$result = [];while (count($arr1) > 0 && count($arr2) > 0) {if ($arr1[0] > $arr2[0]) {$result[] = array_shift($arr2);} else {$result[] = array_shift($arr1);}}if(count($arr1)) {$result = array_merge($result, $arr1);}if(count($arr2)) {$result = array_merge($result, $arr2);}return $result;}
