二叉树数据结构的扁平数组表示

时间:2020-12-27 11:28:21

标签: c++ arrays null binary-tree

我碰巧遇到了二叉树数据结构的扁平化数组表示,其中树上的所有值都存储在对应于索引树的数组中。

我想知道如何在没有叶节点的数组索引处存储空值。我假设引用是在 Java 中的。在 C++ 中,我们如何获得不等于 0 的空值。我们应该使用指针数组吗?一种允许指针指向节点值(如果存在)或假设为 nullptr(当节点值为空时)。

我不打算使用 C++ 中的 NULL 值,因为它等于 0 整数,这在整数数组的情况下会导致冲突。

如果您需要澄清,请告诉我。

Example Image

1 个答案:

答案 0 :(得分:1)

使用 -1。

不,说真的。

甚至至少有一个平台的 C 或 C++ nullptr 为 -1。它确实需要仔细的 cast-to-bool(好吧,cast-to/from-integral;0 必须在标准下转换为 nullptr,但 null ptr 的位模式不必全是 0)代码。