gpt4 book ai didi

perl - 在 Perl 中创建链表结构

转载 作者:行者123 更新时间:2023-12-05 00:34:02 24 4
gpt4 key购买 nike

在 C 中,您可以创建自己的结构,然后从那里创建一个链表,其中结构中的记录将指向下一条记录以及前一条记录。

Perl 肯定有办法做到这一点吗?很想知道如何。

谢谢

最佳答案

你可以像在 C 中那样做,但使用 references instead of pointers和散列而不是结构。

但在 Perl 中通常你不必这样做,因为 Perl 的内置数组非常智能和快速。它们会自动增长并且已经完成了链表可以做的大部分事情,比如使用 splice 添加和删除任意元素。 , 并使用 pop 在数组的前后添加和删除, push , shift , 和 unshift .而且,与链表不同的是,您可以获得 O(1) 随机访问。见 perlfunc更多。

您也不会这样做,因为在 Perl 中编写您自己的数据结构往往很慢。 Perl 数组是用 C 编写的,但您的链表将使用慢得多的 Perl 编写并消耗更多内存。虽然该算法可能更有效,但实现速度会很慢。在计算机科学术语中,常数将非常大。最终结果是专门的数据结构,如链表和树,只有在您开始处理数十万或数百万个元素时才有意义。

您的另一个选择是使用用 C 编写的链表库。You can take advantage of C libraries using a thing called XS that acts as a bridge between C code and Perl code .但这并不是最容易使用的东西。

关于perl - 在 Perl 中创建链表结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54428980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com