~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();
}
}
}