quick3x_保证下标顺序排列,删除table中的元素

转载 2015年07月10日 19:03:09
这里的重点是要求该数组删除数据后依然保持key的连续性且始终是从1开始的

这样也可以保证 ipairs()的正确性 等等)

第一种方法:

<pre name="code" class="cpp" style="line-height: 18px;"><span style="font-size: 18px;">function MainScene:ctor()
 	local a = {
 		[1] = 1,
 		[2] = 2,
 		[3] = 3, 
 		[4] = 4,
 		[5] = 5,
 		[6] = 7,
 		[7] = 4, 
 		[8] = 4,
 		[9] = 4,

 	}	
 	local b = {}
 	for k,v in pairs(a) do
 		if v == 4 then
 			table.insert(b, k)
 		end
 	end
 	table.sort( b ,function( d,e)
		return d>e
	end)
 	for k,v in pairs(b) do
 		table.remove(a,v)
 	end

end</span>


第二种方法:

function MainScene:ctor()
 	local a = {
 		[1] = 1,
 		[2] = 2,
 		[3] = 3, 
 		[4] = 4,
 		[5] = 5,
 		[6] = 7,
 		[7] = 4, 
 		[8] = 4,
 		[9] = 4,

 	}	
 	for k,v in pairs(a) do
 		if v == 4 then
 			-- table.insert(b, k)
 			a[k] = nil
 		end
 	end
 	dump(a)
end


相关文章推荐

项目-排序函数模板将数组a中的前size个元素按从小到大顺序排列。试设计这个函数模板。

问题及代码: /* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:main.cpp *作 者:李磊涛 *完成时间:2016...

编写一个程序,自定义以为数组,删除一维数组中所有相同的数,使之只剩一个。数组中的数按由小到大顺序排列,并显示运行所用时间。

如:一维数组的数据是:2,3,1,1,3,1,4,5,6,7,6,6,7,8,9,10,9,10.删除后,数组中的内容应该是:1,2,3,4,5,6,7,8,9,10 #include #inclu...

字符串练习:对字符串数组,按字典顺序排列大小

package cn.itcast.p1.string.test; /* * 1,给定一个字符串数组。按照字典顺序进行从小到大的排序。 * {"nba","abc","cba","zz","qq...

写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。 如: n = 4 则打印:

写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。如: n = 4 则打印:                    ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)