二叉树

闲来没事,学习了下二叉树



public class TreeNode {

/**

* 左边节点

*/

public TreeNode leftTree;

/**

* 右边节点

*/

public TreeNode rightTree;

/**

* 数据

*/

public int iDate;

public int parent;

public TreeNode(int i) {

// TODO Auto-generated constructor stub

this.iDate = i;

}

public void displayNode() {

}

public void add(TreeNode root, int idate) {

// parent=root;

TreeNode node = find(root, idate);

if (node != null) {

if (node.iDate < idate) {

node.rightTree = new TreeNode(idate);

node.rightTree.parent=node.iDate;

} else {

node.leftTree = new TreeNode(idate);

node.leftTree.parent=node.iDate;

}

}

}

private TreeNode find(TreeNode root, int i) {

// TODO Auto-generated method stub

if (root.iDate < i) {

if (root.rightTree != null) {

return find(root.rightTree, i);

} else {

return root;

}

} else {

if (root.leftTree != null) {

return find(root.leftTree, i);

} else {

return root;

}

}

}

}


----------------------------------


public class TreeTest {

public static int[] temp={7,3,9,8,10,2,1};

public static void main(String[] args) {

TreeNode node=new TreeNode(5);

for (int i = 0; i < temp.length; i++) {

node.add(node,temp[i]);

}

System.out.println(node);

// node.find(3);

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容