package seven;
import java.util.Scanner;
/*
* 需求分析:
* 需求是先序生成一棵树.每一个节点都是用户输入的,
* 当到第几个节点时,电脑会提示用户输入
* 思路:
* 想利用递归来实现,递归结束的条件是当用户输入的是null时,结束当前树的递归
*/
public class FirstCreate
{
public static void main(String[] args)
{
FirstCreate f =new FirstCreate();
Node node=f.firstcreate();
f.firstshow(node);
}
Scanner in =new Scanner(System.in);
public Node firstcreate()
{
Node root;
String data;
System.out.println("根节点是:");
data=in.next();
root=new Node(data);
firstcreate(data+"左节点", root,true);
firstcreate(data+"右节点", root,false);
return root;
}
public void firstcreate(String str,Node root,boolean b)
{
String data;
System.out.println(str+"节点是:");
data=in.next();
if(data.equals("null"))
{
return;
}
Node node=new Node(data);
if(b)
{
root.lchild=node;
}
else
{
root.rchild=node;
}
firstcreate(data+"左节点",node,true);
firstcreate(data+"右节点",node,false);
}
//先序遍历
public void firstshow(Node node)
{
if(node!=null)
{
System.out.print(node.data+" ");
firstshow(node.lchild);
firstshow(node.rchild);
}
}
}
先序人机交互创建树
猜你喜欢
转载自blog.csdn.net/qq_43416157/article/details/104233433
今日推荐
周排行