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

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返回双亲结点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值