Lua--实现数据结构中的链表(new,push_back,pop_front,remove,sort,insert)

本文介绍了如何在Lua中实现数据结构中的链表,包括创建节点、new操作、在链表尾部插入节点(push_back)、删除头节点、移除指定节点、排序链表以及插入元素等功能。同时,文章还提出了关于元表、__index和__newindex的区别以及Cocos2dx单例模式的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Lua–实现数据结构中的链表(new,push_back,pop_front,remove,sort,insert)

one:学习之前先提下问题

1:描述一下元表?

改变表的行为(例如相加,访问不存在的键值)
相同行为的表具有同一个元表

2:__index 和 __newindex的区别?

__index是查询,__newindex是更新

3:至少说三张cocos2dx的单例模式

导演Director /精灵帧缓存SpriteFameCache/userDefault用户数据/SimpleAudioEngle/FileUtils/AnimationCache动画缓存/

(一)Node

1:封装节点

local node={
   }

2:new 创建节点:根据数据域和创建节点

function node.new(val)
return {
   data=val,next=nil}   --data表示数据域 next表示指针域
end

3:inset 在某个节点后插入新节点

--insert:在某个节点后插入新节点
function node.insert(n,val)

    n.next=node.new(val)
end

return node

(二)封装list

1:接收-加载文件

local node=require "node"

2:封装节点

local list={
   }

3:创建一个链表

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值