4

我正在查看 Generics.Collections 并注意到没有链接列表。当然它们制作起来很简单,但我觉得奇怪的是没有一个(或者我只是错过了)。与新的现代数据结构相比,链表是否已经过时,还是需要一个通用的通用链表?有人知道吗?

4

4 回答 4

11

你知道德豪吗?

我认为TLinkedList<T>DeHL.Collections.LinkedList.pas单元正是您正在寻找的。

于 2009-06-12T13:03:18.870 回答
2

在过去,几乎所有严肃的软件都包含链表或树。

我没有经常使用链表,但树是另一回事。

随着动态数组的引入,对链表的需求就不再那么大了。但是我可以想象,如果您的数据结构经常更改(添加 + 删除),您想使用它。

您可以使用容器类和元素记录轻松地自己创建通用链表。

于 2009-06-12T06:44:31.260 回答
1

我不知道现有 Delphi RTL 中有任何通用的链表。

但是,它们作为数据结构仍然非常有用。特别是如果您在链接列表中包含变体,例如 b 树或二叉树。与常规列表不同,链表可以在不移动内存中的数据的情况下进行扩展、编辑或修改。它们非常容易版本化,并且在不允许改变现有数据的纯功能代码中运行良好。所以它仍然是一个非常有用的数据结构。

于 2009-06-12T12:16:30.200 回答
0

这不是 tStringList 的用途吗?

(闪避)

实际上,任何通用 tList 都可以作为链表正常工作,并提供所需的大部分功能。从我们的祖先传下来的古老技术在每条记录中存储一个指向内存的指针,并导航到该技术已经很容易被动态数组和做事所取代......更通用。

于 2009-06-12T16:07:30.003 回答