首页 > 代码库 > 二叉树,添加,查找
二叉树,添加,查找
public class Tree { TreeNode last = null; TreeNode root = null; public Tree(int value){ root = createNode(value); } //结构 static class TreeNode{ int data; TreeNode left; TreeNode right; } //查找结点 public boolean searchTreeNode(int key,TreeNode tree){ if(tree == null){ return false; } if(tree.data =http://www.mamicode.com/= key){ return true; }else if(tree.data > key){ last = tree; searchTreeNode(key,tree.left); }else if(tree.data < key){ last = tree; searchTreeNode(key,tree.right); } return false; } //添加节点 public void addTreeNode(int key){ if(!searchTreeNode(key,root)){ TreeNode tree = createNode(key); if(key < last.data){ last.left = tree; }else if(key>last.data){ last.right = tree; } } last = null; } //遍历 public void iterate(TreeNode node){ if(node ==null){ return; } System.out.println(node.data); iterate(node.left); iterate(node.right); } public TreeNode createNode(int key){ TreeNode tree = new TreeNode(); tree.data = key; return tree; } public void removeNode(int key){ } public static void main(String[] args){ Tree tree = new Tree(4); tree.addTreeNode(5); tree.addTreeNode(6); tree.addTreeNode(3); tree.addTreeNode(7); tree.addTreeNode(8); tree.addTreeNode(9); tree.iterate(tree.root); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。