【发布时间】:2015-07-22 15:58:56
【问题描述】:
我正在将一个程序从 C 移植到 TCL,并且我正在尝试在 C 中实现一个类似于数组的数据结构。我需要它做的两个主要事情是
- 下单
- 允许插入任何索引
- 从过程中返回数组
我会在运行前知道数组的大小,并且在整个程序中大小不应该改变(所以它是静态的)。有没有符合这个要求的数据结构?
如果重要的话,我正在使用 TCL 8.6
编辑:我还需要能够从函数返回数据结构。
【问题讨论】:
-
匹配 C 数组的东西是 Tcl 列表。 (它们是在幕后用 C 数组实现的。)您可以返回它们,因为它们是普通的写时复制值,并且它们本身就知道它们的顺序。在索引处设置一个值——你的第二个操作——是通过
lset(或者lreplace,如果使用正确的话)完成的。真正的 insertion 使列表更长,通常使用linsert。这也不是您显然想要的。
标签: c arrays data-structures tcl