gpt4 book ai didi

erlang - 追加到列表头部不会在erlang中创建一个新列表吗?

转载 作者:行者123 更新时间:2023-12-02 05:20:16 25 4
gpt4 key购买 nike

在 erlang 中,一切都是不可变的,对吗?那么,将一个元素追加到列表的头部如何不会创建列表的新副本,而使用追加每次都会创建一个新副本呢?

引自erlang.org:
递归和构建列表时,确保将新元素附加到列表的开头非常重要。通过这种方式,您将构建一个列表,而不是不断增长的结果列表的数百或数千个副本。

每次遍历链表不就是最后没有追加的原因吗?

最佳答案

Erlang 使用单链表作为列表。添加头部不会修改尾部。假设您有列表 T = [10, 50, 40]。添加头是 [20 | T] 结果如图所示。您可以看到 [10, 50, 40] 部分没有改变。

enter image description here

关于erlang - 追加到列表头部不会在erlang中创建一个新列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38467138/

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