Project1

标题: 【VA】HASH表的作用 [打印本页]

作者: qbjxiaolei    时间: 2012-10-8 22:21
标题: 【VA】HASH表的作用
hash表理论上来说是散列表,可以根据输入的键值快速插入,删除和查找相应元素。当然在VA中不知道这个hash数据类型是怎么实现的。最近我在学习内置脚本和看各位的教程学习到了hash表在va中的应用。

va中的hash表象是一个数组,只不过它的下标是任意数据结构。总结了一些好的作用。

1,可以当作一个快速查询的数组。比如,在地图中的一些坐标关联了一些任务数据。假设人物走到一个位置然后按确定键。而接下来要触发的事件跟这个人物所在的位置有关,我们就可以这样来检索这个数据。
RUBY 代码复制
  1. thing=hash_data[[$game_player.x,$game_player.y]];

当然之前初始化的时候要在那些预订的位置初始化值。

2,可以当作一个集合。很容易判断一个元素是不是在这个集合中。也是同样的例子,人物走到一个位置按确定键,这个时候如果这个位置已经存在数据,就返回真;如果不存在数据,就在这个位置关联数据,并返回假。那么就可以这么些。
RUBY 代码复制
  1. tmp=hash_data[[$game_player.x,$game_player.y]];
  2. if(tmp==nil)
  3. hash_data[[$game_player.x,$game_player.y]]=thing;
  4. return false;
  5. else
  6. return true;
  7. end

这样就可以检测是否重复。
作者: qbjxiaolei    时间: 2012-10-8 22:24
个人感觉va的hash表作用可以当作数组的超集。。。
作者: 晴兰    时间: 2012-10-8 22:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: qbjxiaolei    时间: 2012-10-8 23:13
恩,其实我想说的就是va的hash数据结构在功能上封装了映射键值和冲突检测和这两个麻烦的东西,所以使用的时候可以多用它,在时间上更有效率。我估计也是个链地址的结构。




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