Java 实现二叉树的建立以及前、中、后序遍利

来源:互联网 发布:php从入门到放弃 编辑:程序博客网 时间:2024/06/10 05:36
import java.util.Scanner;class Node{   Node lchild,rchild;   int data;   Node()   {    }}public class Linkdemo{   Scanner input = new Scanner(System.in);   public Node creat(Node root,int k)   {   Node temp = new Node();   int a = input.nextInt();   if(a!=0)   {   temp.data = a;   temp.lchild = null;   temp.rchild = null;   if(k==0)   {   root = temp;   }   else if (k==1)   {   root.lchild = temp;   }   else if(k==2)   {   root.rchild = temp;   }   creat(temp,1);   creat(temp,2);   }   return root;    }   public static void postorder(Node node)   {   if(node!=null)   {         postorder(node.lchild);         postorder(node.rchild);         System.out.println(node.data);   }   }   public static void inorder(Node node)   {    if(node!=null)   {         inorder(node.lchild);         System.out.println(node.data);         inorder(node.rchild);   }   }     public static void preorder(Node node)   {    if(node!=null)   {  System.out.println(node.data);         preorder(node.lchild);         preorder(node.rchild);   }   }        Linkdemo()   {      }   public static void main(String[] args)   {   Node root = new Node();   Linkdemo kk = new Linkdemo();   root = kk.creat(root, 0);   preorder(root);                   //前序遍历   postorder(root);                  //中序遍历   inorder(root);                    //后序遍历   }}

基于Java的二叉树操作,遇0返回双亲结点。
0 0