package sy3.sy; //节点类 public class TreeNode { int val; TreeNode left; TreeNode right; public TreeNode(int val) { this.val = val; } /** * 添加节点的方法 * * @param node */ public void add(TreeNode node) { if (node == null) { return; } if (node.val < this.val) { if (this.left == null) { this.left = node; } else { this.left.add(node); } } else { if (this.right == null) { this.right = node; } else { this.right.add(node); } } } } //创建二叉树 class Creat { private TreeNode root; public TreeNode getRoot() { return root; } public void add(TreeNode node) { if (root == null) { root = node; } else { root.add(node); } } /** * 前序遍历 * * @param node */ public void pre(TreeNode node) { if (node == null) { return; } System.out.print(node.val + " "); pre(node.left); pre(node.right); } } class Test { public static void main(String[] args) { int[] arr = {7, 3, 10, 12, 5, 1, 9, 2}; Creat c = new Creat(); for (int i = 0; i < arr.length; i++) { c.add(new TreeNode(arr[i])); } TreeNode root = c.getRoot(); c.pre(root); } }
二叉树的创建
最新推荐文章于 2024-07-19 17:37:28 发布