输入先序遍历序列,建树----Java实现

~U。U~古(356977819)  1:40:09

今天从C++开始转战Java,这是本人写的第一个Java程序,整了很久,期间痛苦万分,但收获良多。
程序输入一个先序遍历的序列,$表示空,根据输入建树,然后进行先序遍历并输出。
如:A B D $ $ $ C E $ $ F $ $代表:
                 A
          B           C
     D      $     E      F
 $      $       $   $  $    $
import java.util.Scanner;


public class BinaryTree {
    public static Scanner in = new Scanner(System.in);;
    public static void main(String[] args)
    {
        tree root=new tree(in.next());
        root.PreOrder();
    }
}

class tree {
    String data;
    tree lchild;
    tree rchild;
    tree(String v)
    {
       if(!v.equals("$"))
       {
         data=v;
         String x=BinaryTree.in.next();
         if(!x.equals("$"))
         {
             lchild=new tree(x);
         }
         else
         {
             lchild=null;
         }
         x=BinaryTree.in.next();
         if(!x.equals("$"))
         {
             rchild=new tree(x);
         }
         else
         {
             rchild=null;
         }
       }
    }

    void PreOrder()
    {
        System.out.print(data+" ");
        if(lchild!=null)
        {
           lchild.PreOrder();
        }
           if(rchild!=null)
        {
           rchild.PreOrder();
        }
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值