找回密码
 立即注册
首页 业界区 安全 双亲表示法构造树-----Java实现

双亲表示法构造树-----Java实现

襁壮鸢 2026-1-25 18:45:01
package Data_Structure.Tree;
import java.io.IOException;
import java.util.NoSuchElementException;
import java.util.Scanner;
//双亲表示法构造树,该树使用层序进行构造,通过parent下标索引双亲结点
public class ParentTree{
private static final int CAPACITY=100;
private Node nodes[];
private final int  root;
private  int length;
[code]static class Node{    private char data;    private int parent;    public Node(char data,int parent) {        this.parent = parent;        this.data = data;    }    public char getData(){        return data;    }    public void setData(char val){        this.data = val;    }    public int getParent(){        return parent;    }    public void setParent(int index){            }}//构造函数,给数组分配内存public ParentTree(){    nodes  = new Node[CAPACITY];    root=0;    length=0;}//构造树结构, 输入时,按照层序排序输入public void createTree(int n) throws IOException {    if(nCAPACITY)        throw new IllegalArgumentException("非法参数:"+ n);    Scanner in =new Scanner(System.in);    System.out.println("请先输入根结点元素:");    nodes[0] = new Node(in.next().charAt(0),-1); //根结点没有双亲结点    clearCacheArea(); //清空缓存区    length++;    System.out.println("输入子结点以及对应双亲结点的索引\n字符与数字输入完后回车再输入下一对");    for(int i=1;iCAPACITY || n

相关推荐

6 天前

举报

您需要登录后才可以回帖 登录 | 立即注册