我碰巧遇到了二叉树数据结构的扁平化数组表示,其中树上的所有值都存储在对应于索引树的数组中。
我想知道如何在没有叶节点的数组索引处存储空值。我假设引用是在 Java 中的。在 C++ 中,我们如何获得不等于 0 的空值。我们应该使用指针数组吗?一种允许指针指向节点值(如果存在)或假设为 nullptr
(当节点值为空时)。
我不打算使用 C++ 中的 NULL 值,因为它等于 0 整数,这在整数数组的情况下会导致冲突。
如果您需要澄清,请告诉我。
答案 0 :(得分:1)
使用 -1。
不,说真的。
甚至至少有一个平台的 C 或 C++ nullptr 为 -1。它确实需要仔细的 cast-to-bool(好吧,cast-to/from-integral;0 必须在标准下转换为 nullptr,但 null ptr 的位模式不必全是 0)代码。