gpt4 book ai didi

c++ - 有没有一种方法可以在不使用递归的情况下迭代 n 维数组(其中 n 是变量)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:05:15 24 4
gpt4 key购买 nike

有没有办法使用递归来遍历 n 维数组(其中 n 是变量)?我目前正在使用 C++,但我想几乎任何语言的答案都可以。

编辑:实际上我真正的问题有点不同:我实际上想枚举数组的索引。简单的 2D 示例,具有 2x2 数组:0,0; 0,1; 1,0; 1,1.

最佳答案

void iterate(const std::vector<int> &dims)
{
std::vector<int> idxs(dims.size());

while (1)
{
// Print
for (int i = 0; i < dims.size(); i++)
{
std::cout << idxs[i] << " ";
}
std::cout << "\n";

// Update
int j;
for (j = 0; j < dims.size(); j++)
{
idxs[j]++;
if (idxs[j] < dims[j]) break;
idxs[j] = 0;
}
if (j == dims.size()) break;
}
}

关于c++ - 有没有一种方法可以在不使用递归的情况下迭代 n 维数组(其中 n 是变量)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6588487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com