Project1

标题: 怎么样可以获得父数组 [打印本页]

作者: 九夜神尊    时间: 2010-10-22 08:47
标题: 怎么样可以获得父数组
arr = [1,[1,[3,4]]] #假设这么一个数组

当我获取到 gro = [3,4]的时候
怎么样获得gro 的父数组 [1,[3,4]]呢?

→原本是一个很复杂的数组如果每回都要通过索引取址的话,估计会出现这样
arr[1][4][2][1]的东西来,我是通过递归直接过的gro 的。没有记录索引。
如果每回都要通过计算索引来获得地址的话,估计会很慢。

求思路或方法,可以直接获得父数组。
我暂时的方法是,在数组头部放一个父数组。但是觉得:
   这样可行可,这样不就成了无限死循环数组了么?

作者: 逸豫    时间: 2010-10-22 09:03
并查集?
作者: 紫苏    时间: 2010-10-22 10:33
我暂时的方法是,在数组头部放一个父数组。但是觉得:
   这样可行可,这样不就成了无限死循环数组了么?
九夜神尊 发表于 2010-10-22 08:47


可行。数组头部可以只放一个引用,如此一来就仅仅是一个对象的链接,而不是数组本体了
作者: 九夜神尊    时间: 2010-10-22 10:49
回复 紫苏 的帖子

ap = gro

这样就是代表ap是gro的引用么?
   
作者: 六祈    时间: 2010-10-22 10:51
回复 九夜神尊 的帖子

正是,愚者上次出过一个很囧的bug

arr = Array.new(4){Window_Base.new}
window = arr[3]
window = nil

……结果囧rz了

另外问下你说的递归,是用each取得的么?
作者: goahead    时间: 2010-10-22 11:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: 九夜神尊    时间: 2010-10-22 11:14
回复 goahead 的帖子
是用于紫苏大人给我介绍的四叉树结构。
为ARPG创立做准备。

   
作者: goahead    时间: 2010-10-22 11:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: 九夜神尊    时间: 2010-10-22 11:21
回复 goahead 的帖子
关键就是这个直接
请赐教!!

   
作者: goahead    时间: 2010-10-22 11:28
提示: 作者被禁止或删除 内容自动屏蔽




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