我很难掌握如何迭代八叉树或四边形。这可能是因为我没有经历过不同的迭代神话。但是让我们假设我生成了一个四叉树,它包含 float x,y,z; 双字颜色。现在,我们还假设这个节点一次只能产生 4 个孩子(这些孩子都可以产生 4 个孩子,等等),直到: 达到 7 个级别(这样孩子就不能再创建孩子了,但是它兄弟/姐妹可以),创建的所有 4 个孩子都是相同的 dword 颜色(同样,如果发生这种情况,其兄弟/姐妹仍然可以生产),或者创建的节点总数等于 87380。发生上述情况时,将其放入容器。这个过程还在继续。
现在这个包含节点的容器(例如)有 7 层深,所有子节点的子节点的所有子节点都有不同的 x、y、zs 和颜色。我遇到的问题是我如何迭代这个容器,我怎样才能遍历所有的孩子,姐妹们?由于根导致 4 个孩子,而这 4 个孩子有 4 个孩子,依此类推,依此类推:4^1+4^2....+4^7。如何在不编写复杂的 if 语句和遍历整个节点(从根开始)的情况下找到我想要的节点?容器(产生节点的容器)是否需要额外的代码来简化这个过程?
对不起,如果问题是一般性的。