eXorithm – Execute Algorithm: View / Run Algorithm merge_sort

Logo Beta

function merge_sort ($array

{

  if (count$array) <= 1)  

    return $array;  

  

  // sort each half

  $mid = floorcount$array)/2);

  $left = merge_sortarray_slice$array, 0, $mid));  

  $right = merge_sortarray_slice$array, $mid));  

  

  // merge the arrays

  $array = array();

  while (count$left)>0 && count$right)>0) {  

    if ($left[0] <= $right[0]) {  

      array_push$array, array_shift$left));  

    } else {  

      array_push$array, array_shift$right));  

    }  

  }  

  $array = array_merge$array, $left, $right);  

  

  return $array

}