我们有这样的层次结构:
- 1 ( identifier = 100 )
- 1 (101)
- 2 (102)
- 3 (103)
- 1 (1031)
- 2 (1032)
- 3 (1033)
- 4 (104)
- 1 (1041)
- 2 (1042)
- 3 (1043)
-901 (1001)
- 2 (200)
- 1 (201)
- 2 (202)
- 10 (1000)
- 1 (1001)
要求的特性:
- 每个节点的标识符应该是唯一的。
- 标识符应根据元素的级别相应增加
- 标识符应该是整数类型。
- 每个元素的计数器在每个新级别/父元素处重置
正如您在元素 1.901 和 10.1 的示例中看到的那样,当前的实现不起作用。我们尝试了下一个解决方案:
- 将每个级别乘以数字。
- 仅将第一级乘以一个数字并添加每个子级
如果标识符是字符串,它会变得更加容易,在这种情况下,我们可以使用下一种方式:“level1.level2.level3...”,所以对于 1 -> 1,它将是“1.1”,依此类推。但这是最不需要的步骤。
那么,您能否建议任何可用于此处生成所需标识符的算法?
更新修复了示例。PS我知道这是错误的。