Project1

标题: 一个提升效率的技巧 [打印本页]

作者: 神思    时间: 2009-10-6 23:59
标题: 一个提升效率的技巧
我发现很多人喜欢吧一大堆数据望一个容器里丢..
然后再找的时候呢 = = 又逐个找....

比如

人 = Array.new
500.upto{ 人 << 男人 }
500.upto{ 人 << 女人 }

然后找某个男人的时候呢.就
for e in 人
if e.性别 == 雄 && e.name == "ORZ"
   return e
end
end


这种手法大家应该会经常用到吧。。
如果只有100个人也还行。。
如果1000或者更多个呢?。。这样就会有很多无谓的搜索。。。


既然本身有区别·为何我们不直接在添加的时候就区分开来?

男人 = []
女人 = []
500.upto{ 男人 << 男人 }
500.upto{ 女人 << 女人 }

这样我们要找某个男人的时候就只需要在男人的数据堆里找了...
可以减少那500个搜索判断


当然,还可以有其他的区分.
例如年龄在那个范围的编为1组..
这样在搜索的时候效率会有很多的提升..
作者: pppooo898    时间: 2009-10-7 00:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 奶油Da蛋糕    时间: 2009-10-7 07:02
这应该算是一个教程类的东西吧?
举的例子根本看不动
作者: 神思    时间: 2009-10-7 08:14
简单点说就是数据分类。。。。
作者: IamI    时间: 2009-10-7 08:19
除了数据库,哪里会用到500个以上的数据……= =
另外我习惯容器套容器(飞逃)




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1