从先前的元素生成矢量元素

时间:2019-07-26 18:33:14

标签: c++ vector

我想构建向量的向量,它实际上是一棵树。我有种子值,然后继续,我将种子乘以 u 以获得上升值,并乘以 d 获得下降值。我有下面的代码片段可以满足我的要求,但是您能建议一种更有效的方法吗?

void short_rate_lattice() {
    double r00 = 0.06;
    double u = 1.25;
    double d = 0.9;
    int num_periods = 5;

    vector<vector<double>> short_rates(num_periods + 1);

    short_rates[0].push_back(r00);
    for (int i = 1; i <= num_periods; ++i) {
        for (int j = 0; j < i; ++j) {
            short_rates[i].push_back(d * short_rates[i - 1][j]);
        }
        short_rates[i].push_back(u * short_rates[i - 1][i - 1]);
    }

    cout << "short_rates vector is populated" << endl;
}

0 个答案:

没有答案