前言
最近一直在探索Lua的C API编程部分,上次实现了一个函数执行时间统计库:lfunctimer,这次就果断写了一个lnodelist
来玩玩。在这期间,遇到了许多纠结的问题,因此果断做下分享~
测试用例现在贼少= =想要试用的同学可以走lnodelist
的Github传送门,或者luarocks install lnodelist
,就可以开始干起~
在Lua里,table充当着array以及hashmap两个角色,提供了简单的insert、remove、concat等功能。lnodelist
则是独立于table之外建立一个崭新的list/array
数据结构,暂时是一个双向链表。API的需求上,则兼并java的LinkedList跟js的array两种体系,列表如下: