我构建了一个接受对向量作为参数的引用的函数,它看起来像这样:
void func(std::vector<int> &vec) {
// sth. to do
}
但我希望函数是递归的,并使用原始向量的一部分调用自身。
void func(std::vector<int> &vec) {
// sth. to do
func(part of the orignial vector);
}
如何从原始矢量构造新矢量?当我在递归调用中修改向量的一部分时,原始向量&#34; vec&#34;是非常重要的。也有这种变化,所以我没有通过副本或新的向量。 谢谢你的帮助。
答案 0 :(得分:3)
旧方法!
void func(std::vector<int> &vec,int l,int r) {
// this function modifies only vec fro indices l to r.
//
// do what you want
//
//
func(vec,new_l,new_r);
}