• Lua初学习 9-14_01 数据结构 ---> 链表list (同名table)


    1:首先说个蛋疼的问题

          --声明2个字段名相同的table

    arr = { value =99 ,age =23 }

    arr = { value = 100 , id =10001}

    print(arr.value) ----> 100

    print(arr.age) ----->nil         

    =======================代码2==================

    arr = { value =99 ,age =23 }

    arr = { value = 100 , id =10001 , next = arr} ----->这里的next 指向了 前面的 arr

    print(arr.value) ----> 100

    print(arr.age) ----->nil  

    print(arr.next.age) ----->23

    ----->那前面的一个arr去哪了?没有被回收,也不能直接访问(可以在声明下一个同名table前直接访问)

     

    2:声明链表

    arr = { value = 99,age = 23}
    --print(arr.age)
    arr = { value = 100, id =100001,xia = arr}
    arr = { xia = arr,value=101}

    print(arr.xia.xia.age)   -----> 23

    =================当然 循环创建是最方便的===================

    list = { value = 1} --表头
    for i = 1 , 10 do
    list = {next = list,value =i+1}
    end

    l = list
    while l do
    print(l.value)               ---------> 11 10  9 8 7  6 5 4  3 2 1 
    l = l.next
    end

    print(list.next.next.value)  -----> 9

    ---------->怎么直接访问链表中的第五个元素呢?list.next.next.next.next.next ?循环一下

    five = list
    for i = 1 , 4 do
    five = five.next
    end
    print(five.value) ----> 5

  • 相关阅读:
    第四章 分布式扩展
    第三章 2.性能压测,容量问题
    第三章 1.云部署,打包上传
    MySQL语法大全
    Python随手记
    Python操作Mysql中文乱码问题
    Python基础函数
    破解电信校园网路由限制
    ThinkPHP扩展函数的三个方法
    $_SERVERS预定义变量
  • 原文地址:https://www.cnblogs.com/cocotang/p/5870763.html
Copyright © 2020-2023  润新知