我有两个问题,但它们是相互关联的:
part:a->
我一直在尝试以相反的顺序显示向量的元素。但没有任何工作。我用过 iterotar 之类的;
for (it=vec.end(); it!=vec.begin(); --it){
// it is iterator not reverse_iterator.
// do work
}
PS我对迭代器不太熟悉。我今天第一次使用它们以相反的顺序显示 elem。
也试过了;
for (int i=vec.size(); i!=0; i--){
//display
}
无论我做什么,它总是以与它们存在的顺序相同的顺序显示元素,即不以相反的顺序显示。
part_b->
有什么方法可以将递归函数的输出直接存储到向量中。就像代码一样:我知道这不起作用。我试过了,但只是让你知道我在做什么。
#include <iostream>
using namespace std;
#include "vector"
int func(int num);
vector <int> vec;
int main() {
int num=34;
// I know this would not work. But is there any possibilitiy that
// I can store the output in a vector.
vec = binary(num);
// trying to display the vector.
for (int i=vec.size();i!=0;i--) {
cout<<vec[i]<<" ";
} // not working for reverse display.
} //main.
int func(int num) {
if (num==1) {
//vec.push_back(1);
return 1;
}
else if(num==0) {
//vec.push_back(0);
return 0;
}
else {
//vec.push_back(input%2);
return binary(input/2);
}
} //func.
我希望你能理解这个问题。如果我能够完成 b 部分,则无需反转向量的 elem。