Есть вот такое задание:
на странице по ссылке
http://algolist.manual.ru/sort/merge_sort.phpрасписан алгоритм сортировки слиянием
Ваше задача:
Создать Массив на 1000 элементов заполнит его случайными значениями от 1-1000
и используя описанный алгоритм отсортировать его в порядке возрастания.
Я сделал такой код:
function mergesort($array, $beg, $end) {
    if (count($array) < 1) return;
    else
    {
    $split = count($array) / 2;
    $array1 = array_slice($array, $beg, $split);
    $array2 = array_slice($array, $split + 1, $end);
    sort($array1);
    sort($array2);
    }
    $array = array();
    $ptr1 = $ptr2 = 0;
    while ($ptr1 <= count($array1) && $ptr2 <= count($array2)) {
        if ($array1[$ptr1] < $array2[$ptr2]) {
           $array[] = $array1[$ptr1++];
        }
        else {
            $array[] = $array2[$ptr2++];
        }
    }
while ($ptr1 < count($array1)) $array[] = $array1[$ptr1++];
while ($ptr2 < count($array2)) $array[] = $array2[$ptr2++];
return $array;
    }
$beg = 1;
$end = 1000;
$ar = array();
/* заполнение массива случайными числами, вариант первый: */
for($i = 1; $i <= 1000; $i++)
{
$ar[] = $i;
shuffle($ar);
}
/*вариант второй:
$ar = array();
for($i = 1; $i <= 1000; $i++)
{
$ar[$i] = rand(1, 1000);
}
*/
echo "Sorted massiv:";
echo '<br><br>';
$sorted = mergesort($ar, $beg, $end);
foreach($sorted as $val)
{
 echo $val; echo '<br><br>';
}
мне пришел ответ:
Переработайте скрипт без использования стандартных функций sort, array_slice, используя созданую Вами функцию 
mergesort (используя рекурсию) Обратите внимание на использование минимального количества памяти сделать замер.
Я не знаю как это сделать помогите кто чем сможет. Заранее спасибо!