ToLua中list的 bug
来源:互联网 发布:手机号归属地 数据库 编辑:程序博客网 时间:2024/05/20 19:31
并且它的插入很奇怪,他把插入的节点放在Iter 后面,所以我又改了一下这个函数,如下:
function list:xk_insert(v, iter)assert(v)if not iter thenreturn self:push(v)endlocal t = {value = v} if iter._prev then t._prev=iter._prev;iter._prev = t;t._next = iter; t._prev._next=t;elseself.first = t t._next = iter; iter._prev=t;endself.length = self.length + 1end
总感觉这种链表有些 尾大不掉,于是乎对 数组Table 重新写了一个List,如下
local list = {}list.__index =list;function list:new() return setmetatable({}, self)endfunction list:clear() self=nil; self={};endfunction list:length() return #self;endfunction list:push_back(v) self[#self+1]=v;endfunction list:pop_back() local result=self[#self];self[#self]=nil;return result;endfunction list:erase(value)for i=#self,1,-1 do if(self[i]==value) then for j=i,#self-1 do self[j]=self[j+1]; end self[#self]=nil; end endendfunction list:sort(fun) table.sort(list,fun);end--[[local bbb=list:new();bbb:push_back(20)bbb:push_back(1);bbb:push_back(2);bbb:push_back(3);bbb:push_back(20)bbb:push_back(21);bbb:push_back(22);bbb:push_back(20)bbb:push_back(20)for i,value in ipairs(bbb) do print(i..": "..value) endbbb:erase(20);for i,value in ipairs(bbb) do print(i..": "..value) end]]--return list;
阅读全文
0 0
- ToLua中list的 bug
- Hibernate中一对多 List的bug
- 发现java.io.File中 list()方法的一个bug
- 解决魅族layer-list中图片拉伸的bug
- cocos2dx lua中使用自定义类以及tolua++的使用
- cocos2dx lua中使用自定义类以及tolua++的使用
- toLua:简洁的使用说明
- tolua++的使用
- tolua++的使用
- toLua++的使用
- tolua++的使用
- tolua++的一些想法
- tolua 学习笔记 链表list.lua
- tolua++
- tolua
- tolua
- 在dfs中传入List参数,所带来的引用bug
- VC 2008 LIST CONTROL的BUG
- Linux下C实现线程池
- LeetCode 153&154 Find Minimum in Rotated Sorted Array
- 虚拟机 之“三种”网络模式
- No resource found that matches the given name (at 'layout_constraintRight_toLeftOf' w
- MFC中客户区和非客户区的区别&OnPaint和OnDrawn的区别
- ToLua中list的 bug
- win10 64bit安装 redis 及 redis desktop manager 的方法
- java日常
- error C2065: 'cout' : undeclared identifier
- java编写死锁代码
- 贪心算法——狄克斯特拉算法(Greedy Algorithm
- ajax 级联操作
- 小组面试题2017
- 一、solr6.5的安装与配置