#Is this merge sort

3 messages · Page 1 of 1 (latest)

slender plover
#

int[] arr = /* missing code */;
public static void mystery(int[] elements)
{
int n = elements.length;
int[] temp = new int[n];
mystery1(elements, 0, n - 1, temp);
}

private static void mystery1(int[] elements, int from, int to, int[] temp)
{
if (from < to)
{
int middle = (from + to) / 2;
mystery1(elements, from, middle, temp);
mystery1(elements, middle + 1, to, temp);
mystery2(elements, from, middle, to, temp);
}
}

private static void mystery2(int[] elements, int from, int mid, int to, int[] temp)
{
int i = from;
int j = mid + 1;
int k = from;

while (i <= mid && j <= to) 
{
  if (elements[i] < elements[j]) 
  {
    temp[k] = elements[i];
    i++;
  } 
  else 
  {
    temp[k] = elements[j];
    j++;
  }
  k++;
}

while (i <= mid) 
{
  temp[k] = elements[i];
  i++;
  k++;
}

while (j <= to) 
{
  temp[k] = elements[j];
  j++;
  k++;
}

for (k = from; k <= to; k++) 
{
  elements[k] = temp[k];
}

}

uneven martenBOT
#

This post has been reserved for your question.

Hey @slender plover! Please use /close or the Close Post button above when you're finished. Please remember to follow the help guidelines. This post will be automatically closed after 300 minutes of inactivity.

TIP: Narrow down your issue to simple and precise questions to maximize the chance that others will reply in here.