情况:
原函数里的array[0]=15与array[1]=-3与局部函数里的array[0]=-3,array[1]=15,为何返回后不一样?怎么修改才能一样?
原代码:
/left=2,right=3,array1={15},array2={-3}/
int* Merge(int* array1, int* array2, int left, int right)
{
int index1, index2, mid;
int length = right - left + 1;
int* array = new int[length];
int childlength = (right - left) / 2 + 1;
mid = (left + right) / 2;
index1 = 0;
index2 = 0;
if (childlength == 1)
{
if (array1[0] <= array2[0])
{
array[0] = array1[0];
array[1] = array2[0];
}
else
{
array[0] = array2[0];
array[1] = array1[0];
}
}
return array;
}
调试结果:
返回原函数之前:
返回原函数之后: