描述
二叉树的构建、插入新的结点、树的先中后序以及层序四种遍历
代码
import java.util.LinkedList;import java.util.Queue;class Node{ public int data; public Node left; public Node right; public Node(int data){ this.data=data; this.left=null; this.right=null; }}public class BinaryTree { private Node root; public BinaryTree(){ root=null; } /* * 插入到排序二叉树 * */ public void insert(int data){ Node newNode=new Node(data); if(root==null){ root=newNode; return; } Node node=root; Node parent; while(true){ parent=node; if(dataqueque=new LinkedList (); queque.add(root); while(!queque.isEmpty()){ node=queque.poll(); System.out.print(node.data+" "); if(node.left!=null) queque.add(node.left); if(node.right!=null) queque.add(node.right); } } public static void main(String[] args) { BinaryTree bitree=new BinaryTree(); int[] data={2,8,7,4,9,3,1,6,7,5}; bitree.buildTree(data); System.out.print("二叉树的先序遍历:"); bitree.preOrder(); System.out.println(); System.out.print("二叉树的中序遍历:"); bitree.inOrder(); System.out.println(); System.out.print("二叉树的后序遍历:"); bitree.postOrder(); System.out.println(); System.out.print("二叉树的层序遍历:"); bitree.layerTranverse(); System.out.println(); }}