加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Lua中的Linked List示例实际上如何工作?

发布时间:2020-12-14 21:45:01 所属栏目:大数据 来源:网络整理
导读:几年后我正在重新学习编程,目前我正专注于C#和Lua.我为Lua使用的这本书有一个链接列表的例子,但我很难理解它是如何工作的. list = nilfor line in io.lines() do list = {next = list,value = line}end 如果我正在读这个 它正在创建一个新表 将列表分配给该
几年后我正在重新学习编程,目前我正专注于C#和Lua.我为Lua使用的这本书有一个链接列表的例子,但我很难理解它是如何工作的.

list = nil
for line in io.lines() do
   list = {next = list,value = line}
end

如果我正在读这个

>它正在创建一个新表
>将列表分配给该表,设置“下一个”键/标识符(正确的术语?)以指向列表(在第一个创建的表的点处仍为零)
>然后将“值”键/标识符设置为读入的内容
>然后“list”现在实际上指向新创建的表

然后在循环的下一个运行

>创建下一个表
>将“next”键/标识符设置为指向列表(现在指向以前创建的表)
>然后将“值”键/标识符设置为读入的内容
>然后“list”现在实际上再次指向新创建的表

我只是想确定我究竟是如何工作的,因为它似乎有点奇怪/奇怪的是,列表正在尝试创建一个表并指向它在执行完成的行和列表之前当前指向的任何内容更新为指向最新创建的表.

还是我离开这里?

解决方法

这有点类似于LIFO链接列表在其他语言中的含义(如 c或 c++).是的,你正确地关注它.

假设我的输入是:(按相同的顺序)

> 21
>嗨
> 35
>不

然后,我的列表创建为:

list = {
    value = "No",next = {
        value = 35,next = {
            value = "Hi",next = {
                value = 21
                next = nil
            }
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读