Hello,
I wrote a merge function,
can you help me to write recursive version to my merge function?
(i dont know how to do it)
c++ Code:
void merge(int* arr, int size)
{
int* temp;
int* side1=arr;
int* side2=arr+size/2;
int i;
temp=(int*)malloc(size*sizeof(int));
checkAlloc(temp);
while((side1<arr+size/2)&&(side2<arr+size))
{
if(*side1<*side2)
{
*temp=*side1;
temp++;
side1++;
}
else
{
*temp=*side2;
temp++;
side2++;
}
}
while(side1<arr+size/2)
{
*temp=*side1;
temp++;
side1++;
}
while(side2<arr+size)
{
*temp=*side2;
temp++;
side2++;
}
temp=temp-size;
for(i=0;i<size;i++)
{
*(arr+i)=*(temp+i);
}
free(temp);
}