菜单,数据结构思想案例,显示孩子节点,是按从长到幼的次序。

来源:互联网 发布:it在线培训 编辑:程序博客网 时间:2024/06/06 16:34

题目:

每个菜单项有4个指针:


parent: 指向父节点
child: 指向第一个孩子节点
left: 指向本节点的“哥哥”
right: 指向本节点的“弟弟”

显示孩子节点的时候,是按从长到幼的次序。


代码:

class MyMenuItem{private MyMenuItem parent;private MyMenuItem child;private MyMenuItem left;private MyMenuItem right;private String data;public MyMenuItem(String x){data = x;}public MyMenuItem addChild(MyMenuItem m){if(child==null){m.parent =this;child = m;return this;}MyMenuItem p = child;while(p.right!=null) p = p.right; // 找到最小的孩子p.right = m;m.parent = this;return this; }// 深度优先遍历public void deep_travel(){if(child != null) child.deep_travel();System.out.println(data);if(right != null) right.deep_travel();}}public class MyA{public static void main(String[] args){MyMenuItem root = new MyMenuItem("世界").addChild(new MyMenuItem("亚洲").addChild(new MyMenuItem("中国").addChild(new MyMenuItem("北京")).addChild(new MyMenuItem("河北"))).addChild(new MyMenuItem("日本")).addChild(new MyMenuItem("韩国"))).addChild(new MyMenuItem("欧洲")).addChild(new MyMenuItem("欧洲"));root.deep_travel();}}


0 0