package tree; /** * @author 郑道炫 * @version 1.0 */ public class BinaryTreeDemo { public static void main(String[] args) { //先需要创建一颗二叉树 BinaryTree binaryTree = new BinaryTree(); //创建需要的节点 HeroNode root = new HeroNode(1, "宋江"); HeroNode node2 = new HeroNode(2, "吴勇"); HeroNode node3 = new HeroNode(3, "崔浩"); HeroNode node4 = new HeroNode(4, "路基"); HeroNode node5 = new HeroNode(5, "关胜"); //创建该二叉树 root.setLeft(node2); root.setRight(node3); node3.setRight(node4); node3.setLeft(node5); binaryTree.setRoot(root); //测试 System.out.println("前序遍历");//1,2,3,4\ binaryTree.preOrder(); System.out.println("中序遍历");//2134 binaryTree.infixOrder(); System.out.println("后续遍历");//2431 binaryTree.postOrder(); //前序遍历 //前序遍历的次数: System.out.println("前序遍历方式"); HeroNode heroNode = binaryTree.preOrderSearch(5); if (heroNode !=null){ System.out.printf("找到了,信息为 no =%d name = %s",heroNode.getNo(),heroNode.getName()); }else { System.out.printf("没有找到no=%d的英雄",5); } System.out.println("\n删除前,前序遍历"); binaryTree.preOrder(); binaryTree.delNode(5); System.out.println("删除后"); binaryTree.preOrder(); } } //定义BinaryTree二叉树 class BinaryTree{ private HeroNode root; public void setRoot(HeroNode root) { this.root = root; }
韩顺平java二叉树遍历
最新推荐文章于 2024-07-19 19:11:19 发布