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...

ts文件顺序排列合成工具-By阿成

  • 2017年11月13日 14:52
  • 643B
  • 下载

8--10指针方法对10个整数从大到小顺序排列

// 数组做形参 #include #include void sort(int x[],int n); int main() { int *p,i,a[10]; p=a;...

android如何实现文件按时间先后顺序排列显示

android如何实现文件按时间先后顺序排列显示? 需求要求文件按照创建时间的先后顺序进行显示,而系统是安装文件大小顺序来显示,结果查了好一会儿资料都没找到相关资料,没辙了,只好反编译看了下...

1-9-0顺序排列的图片

  • 2017年11月24日 11:14
  • 533KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:quick3x_保证下标顺序排列,删除table中的元素
举报原因:
原因补充:

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