lua里 table的长度#table 的计算方法
2013-03-14 16:36
309 查看
int luaH_getn (Table *t) { unsigned int j = t->sizearray; if (j > 0 && ttisnil(&t->array[j - 1])) { /* there is a boundary in the array part: (binary) search for it */ unsigned int i = 0; while (j - i > 1) { unsigned int m = (i+j)/2; if (ttisnil(&t->array[m - 1])) j = m; else i = m; } return i; } /* else must find a boundary in hash part */ else if (isdummy(t->node)) /* hash part is empty? */ return j; /* that is easy... */ else return unbound_search(t, j); }
先判断最后一个元素是不是nil, 若不是则直接返回, 否则用2分查找查到不是nil的元素,并返回当前个数
相关文章推荐
- Lua中table求长度的集中方法
- Lua中获取table长度的方法
- Lua 计算 UTF8 字符串的长度,每一个中文算一个字符
- C语言计算字符串长度的几种方法
- Lua中释放table占用内存的方法
- 处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
- ios开发日记11 对tableView三种计算动态行高方法的分析
- 汇编指令长度计算方法
- 汇编指令长度计算方法(学习汇编)
- lua中求table长度
- 计算一个数字的长度的几种方法
- tableView的cell之间的分割线长度改变方法
- lua中 table 重构index/pairs元方法优化table内存占用
- lua 计算utf8格式的字符串的长度
- js 判断计算字符串长度/判断空的简单方法
- shell计算字符串长度方法及速度比较
- 用两种不同的方法 计算出字符串的长度 11月15日
- Java--计算中英文长度的若干种方法
- 几种讨巧的整形长度计算方法
- lua 取table长度