我正在阅读以下关于“在数据库中存储分层数据”的文章http://articles.sitepoint.com/article/hierarchical-data-database/2 。
这是在谈论这些结构。http://sitepointstatic.com/graphics/sitepoint_numbering.gif和http://sitepointstatic.com/graphics/table02.gif
我不明白下面的段落。这些是什么意思。
“每次从节点的子节点开始时,都会将该节点的正确值添加到堆栈中。”
和
“当你显示完一个节点时,你从堆栈中删除它的正确值。如果你计算堆栈中的元素,你将得到当前节点的级别。”
如果可能的话,我希望有人以更简单的方式解释这些。
为了显示树结构,子级的缩进应该比父级稍多。我们可以通过保留一堆正确的值来做到这一点。每次从节点的子节点开始时,都将该节点的正确值添加到堆栈中。你知道那个节点的所有子节点的正确值都小于父节点的正确值,所以通过比较当前节点的正确值和堆栈中最后一个正确的节点,你可以看看你是否还在显示该父母的孩子。当您完成显示一个节点时,您从堆栈中删除它的正确值。如果您计算堆栈中的元素,您将获得当前节点的级别。