C++ 如何";“线性化”;树形结构?

C++ 如何";“线性化”;树形结构?,c++,c,arrays,cuda,tree,C++,C,Arrays,Cuda,Tree,我有一个这样的树结构: struct TetrahedronStruct { int index; int region; TriangleFaces Faces[4]; Vertex Vertices[4]; struct TetrahedronStruct *adjTetrahedrons[4]; }; typedef struct { long double Nx, Ny, Nz; long double d; Vertex V[3]; } Triangl

我有一个这样的树结构:

struct TetrahedronStruct {
  int index;
  int region;
  TriangleFaces Faces[4];
  Vertex Vertices[4];
  struct TetrahedronStruct *adjTetrahedrons[4];
};

typedef struct {
  long double Nx, Ny, Nz;
  long double d;
  Vertex V[3];
} TriangleFaces;

typedef struct {
  long double x, y, z;
} Vertex;

如何将树展平为线性内存数组以复制到CUDA设备内存?

创建四面体结构的数组,根是第一个元素,索引为0


对于索引i,子节点位于
4*i+j
,j在[0..4]范围内。

我不知道这是否是您要查找的,但请尝试一个和一个节点数组。@H2CO3谢谢!我会调查的。@KerrekSB其实不是同一个问题,但另一篇文章的答案可能就是这篇文章中的问题。你认为我应该删除另一个帖子吗?@mrei:要么这样,要么改进它,这样它就可以被回答,然后删除这个帖子。我没有仔细看,但你似乎在努力让问题正确,而不是有两个独立的问题,在这种情况下,改进一个问题比有两个相似的问题要好。