-1
我有一個家庭作業,在C++中使用向量。我必須實現兩個向量的交集和差異,以及所有遞歸的。迭代和遞歸發現是否有向量中的元素
首先我創建迭代版本,它工作得很好:
bool mfind(int x, vector<int> array) {
if (array.size() != 0) {
while (array.size() != 0) {
if (array.back() == x) {
return true;
} else {
array.pop_back();
}
}
return false;
} else {
cout << "array is empty" << endl;
return false;
}
}
然後我試圖遞歸做:
bool mfind(int x, vector<int> array) {
if (array.size() != 0) {
if (array.back() == x) {
cout << "array.back == a" << endl;
return true;
} else {
cout << "array.back = " << array.back() << endl;
array.pop_back();
mfind(x, array);
}
} else {
cout << "array is empty" << endl;
return false;
}
}
我是什麼做錯了,因爲如果我保存功能結果一些布爾變量,結果是真,假!
超出問題範圍,但也許這不是作業所期望的。有更快的替代方法來查找數組的交集或差異。 – Misch 2014-12-05 09:48:50
是的範圍是完全正確的。我必須重新實現矢量已經具備的所有功能。 OMG! – virusss8 2014-12-05 13:41:10