本文发表在 rolia.net 枫下论坛1. 我建立一个 Person 名字叫做"小明" 可以不?
2. 我访问数据库说 小明 的 兄弟姐妹 都有谁啊? 数据库返回给我 几个人的属性 是吧?
我根据相应的属性可以创建相应的人吧? 也就是 new 相应的person 可以吧?
3. 我把 2 创建相应人的 指针 or Java 里面所说的reference 放到我的一个存着小明的 兄弟姐妹 Person 指针的 list 里面可以不? 这个list 类似于 List<Person *> Sib_list.
这样我就创建好了 小明 兄弟姐妹的 数据结构了吧?
4. 我访问数据库说 小明 的爸爸 妈妈 是谁啊? 好了 数据库返回给我 小明的 爸爸 妈妈了 是吧? 同样的 我那个 小明 person 里面有个2叉树 左儿子 存的是 爸爸的 Person 的指针
右儿子 存的是 小明 妈妈的 Person 指针 可以不? BTW 小明的 爸爸 的 爸爸 妈妈 指针这个时候 是NULL. 小名的 妈妈 的 爸爸 妈妈 的指针这个时候也是 NULL.
然后我把 小明的 爸爸 妈妈的指针 也插到这个2叉树里面了吧?
5. 目前为止小明的 这个对象的所有属性我都构造好了吧?
到了这一步:
那么我就一个Person 小明 里面数据结构 就有:
1. 一个 List<Person*> 里面含有的全是 兄弟姐妹 的指针!
2. 一个 2叉树 . root 就是 小明
root 的左儿子指针 指向的是 小明 爸爸 .
root 的右儿子 指针只想的是 小明的妈妈
如果你说 小明的 爸爸 的 爸爸 妈妈 都是谁 那你就继续访问数据库 生成个 2个 相应的 Person* 指针 然后把这 2个指针挂到相应的 小明爸爸的 左儿子那里 还有 右儿子指针上就好了啊.
其他的就都是同理可证了啊!
这个有啥难的呢? 为啥你说 我建一个person 就要一个2叉树呢? 我不会存一个2叉树的指针吗? 就4个字节 而已. 有啥浪费的呢?
如果需要说 打印出来 小明的兄弟姐妹来 , 那么我就iterator 我这个 List<Persion *> 然后打印出来相应的name 就可以了吧?
如果需要说 打印出来 小明的所有的祖先来 , 那我就iterator 我这个 2叉树 可以不? 就中序啊 还是 前序 啥的 遍历一遍 然后打印就好了.
我还可以提供打印出来小明全部男性的祖先的名字.
还可以打印出来 小明 全部 女性祖先的名字.
我还可以打印出来 跟 小明 差 几个备份的 祖先的名字.
你如果用一个 list 来把所有的人都塞进去, 您如何实现呢?
我跟 Java的程序员 讨论代码真的是很捉急!! 还有啥问题 , 你可以继续发问! 我把回答你的问题 也post 到发问的下面 要不人家找不到了快!
其实如果明白人 我说这2个数据结构就立马就清楚了. 没有必要我这么长篇大论的 ^_^更多精彩文章及讨论,请光临枫下论坛 rolia.net
2. 我访问数据库说 小明 的 兄弟姐妹 都有谁啊? 数据库返回给我 几个人的属性 是吧?
我根据相应的属性可以创建相应的人吧? 也就是 new 相应的person 可以吧?
3. 我把 2 创建相应人的 指针 or Java 里面所说的reference 放到我的一个存着小明的 兄弟姐妹 Person 指针的 list 里面可以不? 这个list 类似于 List<Person *> Sib_list.
这样我就创建好了 小明 兄弟姐妹的 数据结构了吧?
4. 我访问数据库说 小明 的爸爸 妈妈 是谁啊? 好了 数据库返回给我 小明的 爸爸 妈妈了 是吧? 同样的 我那个 小明 person 里面有个2叉树 左儿子 存的是 爸爸的 Person 的指针
右儿子 存的是 小明 妈妈的 Person 指针 可以不? BTW 小明的 爸爸 的 爸爸 妈妈 指针这个时候 是NULL. 小名的 妈妈 的 爸爸 妈妈 的指针这个时候也是 NULL.
然后我把 小明的 爸爸 妈妈的指针 也插到这个2叉树里面了吧?
5. 目前为止小明的 这个对象的所有属性我都构造好了吧?
到了这一步:
那么我就一个Person 小明 里面数据结构 就有:
1. 一个 List<Person*> 里面含有的全是 兄弟姐妹 的指针!
2. 一个 2叉树 . root 就是 小明
root 的左儿子指针 指向的是 小明 爸爸 .
root 的右儿子 指针只想的是 小明的妈妈
如果你说 小明的 爸爸 的 爸爸 妈妈 都是谁 那你就继续访问数据库 生成个 2个 相应的 Person* 指针 然后把这 2个指针挂到相应的 小明爸爸的 左儿子那里 还有 右儿子指针上就好了啊.
其他的就都是同理可证了啊!
这个有啥难的呢? 为啥你说 我建一个person 就要一个2叉树呢? 我不会存一个2叉树的指针吗? 就4个字节 而已. 有啥浪费的呢?
如果需要说 打印出来 小明的兄弟姐妹来 , 那么我就iterator 我这个 List<Persion *> 然后打印出来相应的name 就可以了吧?
如果需要说 打印出来 小明的所有的祖先来 , 那我就iterator 我这个 2叉树 可以不? 就中序啊 还是 前序 啥的 遍历一遍 然后打印就好了.
我还可以提供打印出来小明全部男性的祖先的名字.
还可以打印出来 小明 全部 女性祖先的名字.
我还可以打印出来 跟 小明 差 几个备份的 祖先的名字.
你如果用一个 list 来把所有的人都塞进去, 您如何实现呢?
我跟 Java的程序员 讨论代码真的是很捉急!! 还有啥问题 , 你可以继续发问! 我把回答你的问题 也post 到发问的下面 要不人家找不到了快!
其实如果明白人 我说这2个数据结构就立马就清楚了. 没有必要我这么长篇大论的 ^_^更多精彩文章及讨论,请光临枫下论坛 rolia.net