传递向量作为递归函数的引用

时间:2016-10-18 07:45:59

标签: c++ vector

我构建了一个接受对向量作为参数的引用的函数,它看起来像这样:

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;是非常重要的。也有这种变化,所以我没有通过副本或新的向量。 谢谢你的帮助。

1 个答案:

答案 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);
}