PHP СОРТИРОВКА СЛИЯНИЕМ
Сортировка слиянием — это алгоритм сортировки, который использует принцип "разделяй и властвуй". Он работает следующим образом:
1. Разделяет список на две подсписка примерно одинакового размера.
2. Сортирует каждый из этих подсписков рекурсивно путем вызова функции сортировки слиянием.
3. Сливает два отсортированных подсписка в один, чтобы получить итоговый отсортированный список.
function merge_sort($arr){ if(count($arr) == 1 ) return $arr; $mid = count($arr) / 2; $left = array_slice($arr, 0, $mid); $right = array_slice($arr, $mid); $left = merge_sort($left); $right = merge_sort($right); return merge($left, $right);} function merge($left, $right){ $res = array(); while (count($left) > 0 && count($right) > 0){ if($left[0] < $right[0]){ $res[] = array_shift($left); }elseif ($left[0] > $right[0]){ $res[] = array_shift($right); }else{ $res[] = array_shift($right); $res[] = array_shift($left); } } while (count($left) > 0){ $res[] = array_shift($left); } while (count($right) > 0){ $res[] = array_shift($right); } return $res;}
В PHP можно использовать функцию array_merge() для слияния отсортированных массивов.
1.5.1 Решение mergesort(сортировка слиянием) на Java
#12. Быстрая сортировка слиянием (merge sort) - Алгоритмы на Python
Сортировка слиянием в python. Merge sort in Python. Recursive sorting algorithms
Алгоритм сортировки слиянием. Merge sort
Внешняя сортировка естественное слияние
Сортировка слиянием