关于Mergesort的一个小问题
来源:3-2 归并排序法的实现

Mapple_
2019-01-31
bobo老师您好,我想问下您,没有进行
if(arr[mid]>arr[mid+1])
优化操作的归并排序在进行合并的时候,假如现在有2个元素相等了 else if(aux[i-l]<aux[j-l])
{ arr[k]=aux[i-l];
i++
}
else
{ arr[k]=aux[j-l];
j++;
}
进行这个代码比较的时候,是不是不稳定了?我觉得应该改成 else if(aux[i-l]<=aux[j-l]) //此处加了一个等号
{
arr[k]=aux[i-l];
i++;
}
else
{ arr[k]=aux[j-l];
j++;
}
不知道我的想法对不对。麻烦老师指导,谢谢!
写回答
1回答
-
你是对的,我在这里的编码没有特别的考虑稳定性。
抱歉!继续加油!:)
012019-01-31
相似问题