0
我写了整个东西,但是我得到了模糊的错误。我不知道什么是错的......呃。另外,你可能会问为什么非递归好,我的老师有这样的测试方式。在C++中的非递归mergesort
void nonrec_mergesort(vector <int> & a, vector <int> & b, int s, int r)
{
int m = 1;
while (m <= r)
{
int i = 0;
while(s < (r-m))
{
stl_merge(a, b, i, ((i+i+m-1)/2), (i+m-1));
stl_merge(a, b, i+m, (min(i+2*m-1,r-1)+(i+m))/2, min(i+2*m-1,r-1));
s = s + (2*m);
}
m = m * 2;
}
}
你不可能得到任何帮助,没有解释你所得到的错误,可能你已经尝试解决这些问题。 – 2010-10-14 23:45:46
一般来说,计算机不会给出模糊的错误,而是非常明确的错误。你在编译过程中遇到错误吗?在链接?在运行你的代码? – 2010-10-14 23:48:58
它运行代码 – 2010-10-14 23:50:47