TCL / ITCL-使用现有数据结构实现唯一的数据结构

时间:2018-08-07 07:11:46

标签: data-structures tcl itcl

我是tcl / Itcl编程的新手。
在tcl或Itcl中是否有任何数据结构,或者为这两个提供的任何软件包都可以帮助我实现下一个结构(请参见下图)。

数据结构的说明:
该数据结构与B-Tree数据结构非常相似。
但是,数据结构的每个级别都是不同的类,这意味着类A只能只有类型为类B的子类。
除了指向该“节点”的父级和子级的“指针”之外,任何级别(节点)中的每个“类类型”都具有该类唯一的另一个数据。

我看到有struct :: tree数据结构,但我真的不知道是否可以使用该数据结构来实现那些带有异常的数据结构。
除了创建“节点基类”和从该“节点基类”继承的三个以上的类,每个类中都有唯一的列表,还有什么方法可以实现?

enter image description here

1 个答案:

答案 0 :(得分:1)

它可以实现为嵌套字典。
键名当然可以是您想要的。

在此示例中,C节点仅具有数据项列表。 相反,这可能是另一本字典。

set nodes {
   nodea1 {
      nodeb1 { 
        nodec1 { data1 data2 data3 }
        nodec2  { data1 data2 data3 }
        }
      nodeb2 {
        }
      nodeb3 {
        nodec1 { data1 data2 data3 }
        nodec2  { data1 data2 data3 }
        nodec3  { data1 data2 data3 }
        }
     }
}

puts [dict get $nodes nodea1 nodeb3 nodec2]