如何在c ++中迭代地将函数应用于数据?

时间:2017-07-07 07:22:50

标签: c++ function loops vector iteration

我只是在寻找一种通用的伪代码类型,如果我的数据类型为$("#selectopt option[value='']").prop('selected', true); ,它需要迭代地通过一个返回相同数据类型的函数vector<vector<double>> X,直到满足myFunction(vector<vector<double>> &X)上的某个条件或直到第n次迭代。

所以,假设让X,然后再次提供它来获取

X(1) = myFunction(X),然后再次输入以获取

X(2) = myFunction(X(1)),并在某些条件说

之前重新开始

X(3) = myFunction(X(2))或直到第n次迭代完成并停在X(n)

我该如何实现它?

2 个答案:

答案 0 :(得分:3)

您是否尝试过以下内容:

std::vector<std::vector<double>> x;
unsigned int numIterators = 100u; // for example
do
{
    x = myFunction(x);
} while(!Condition(x) && --numIterators)

bool Condition(const std::vector<std::vector<double>>&)检查您要停止循环的条件。

答案 1 :(得分:0)

您可以这样做:

typedef vector<vector<double>> datatype;
datatype myFunction( datatype X ,int iteration ,int n ){
    if( iteration== n ) return X;
    /// do some operations with X
    myFunction( X , iteration+1 ,n );
}

从主要功能,你可以这样打电话:

  // define vector X and no of iterations- n.
  datatype ans=myFunction(X,0,n);