黑马程序员技术交流社区
标题:
java二叉树
[打印本页]
作者:
韩冬
时间:
2013-6-24 00:52
标题:
java二叉树
本帖最后由 Super_Class 于 2013-6-24 18:18 编辑
求一个JAVA实现二叉树的具体代码过程。
作者:
likairoudou
时间:
2013-6-24 17:13
import java.util.ArrayList;
//
树的一个节点
class TreeNode {
Object _value = null; //
他的值
TreeNode _parent = null; //
他的父节点,根节点没有
PARENT
ArrayList _childList = new ArrayList(); //
他的孩子节点
public TreeNode( Object value, TreeNode parent ){
this._parent = parent;
this._value = value;
}
public TreeNode getParent(){
return _parent;
}
public String toString() {
return _value.toString();
}
}
public class Tree {
//
给出宽度优先遍历的值数组,构建出一棵多叉树
// null
值表示一个层次的结束
// "|"
表示一个层次中一个父亲节点的孩子输入结束
//
如:给定下面的值数组:
// { "root", null, "left", "right", null }
//
则构建出一个根节点,带有两个孩子
("left","right")
的树
public Tree( Object[] values ){
//
创建根
_root = new TreeNode( values[0], null );
//
创建下面的子节点
TreeNode currentParent = _root; //
用于待创建节点的父亲
//TreeNode nextParent = null;
int currentChildIndex = 0; //
表示
currentParent
是他的父亲的第几个
儿子
//TreeNode lastNode = null; //
最后一个创建出来的
TreeNode
,用于
找到他的父亲
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2