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

来源:互联网 发布:淘宝的官方网址 编辑:程序博客网 时间:2024/05/18 03:00
~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();        }    }}



原创粉丝点击