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