标签:list integer dtree 创建 main remove treenode null col
树形结构是一层次的嵌套结构。 一个树形结构的外层和内层有相似的结构, 所以这种结构多可以递归的表示。经典数据结构中的各种树形图是一种典型的树形结构:一颗树可以简单的表示为根, 左子树, 右子树。 左子树和右子树又有自己的子树。
结构图:
一切尽在代码中:
import java.util.ArrayList; import java.util.List; public class TreeNode { private int age; // 节点属性,年龄 private String name; //节点属性,姓名 TreeNode proTreeNode; //上级节点 List<TreeNode> list = new ArrayList<TreeNode>(); //孩子节点 public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public TreeNode getProTreeNode() { return proTreeNode; } public void setProTreeNode(TreeNode proTreeNode) { this.proTreeNode = proTreeNode; } public void addTreeNode(TreeNode treeNode){ list.add(treeNode); treeNode.proTreeNode = this; } public TreeNode getTreeNode(Integer i){ return list.get(i); } public void removeTreeNode(TreeNode treeNode){ list.remove(treeNode); treeNode.proTreeNode = null; } public String toString(){ return "姓名:"+name+";年龄:"+age+"。"; } }
/** * 创建一个树结构: * * 李磊 * | | * 韩梅梅 丽丽 * | * 李刚 */ public class TreeStructure { public static void main(String[] args) { TreeNode treeNode0 = new TreeNode(); treeNode0.setAge(11); treeNode0.setName("李磊"); TreeNode treeNode1 = new TreeNode(); treeNode1.setAge(13); treeNode1.setName("韩梅梅"); TreeNode treeNode2 = new TreeNode(); treeNode2.setAge(15); treeNode2.setName("莉莉"); TreeNode treeNode3 = new TreeNode(); treeNode3.setAge(15); treeNode3.setName("李刚"); treeNode0.addTreeNode(treeNode1); //父节点关联孩子节点 treeNode0.addTreeNode(treeNode2); //父节点关联孩子节点 treeNode2.addTreeNode(treeNode3); //丽丽节点下挂李刚 System.out.println(treeNode1); //打印节点本身 System.out.println(treeNode2.getTreeNode(0)); //打印树节点 System.out.println(treeNode1.getProTreeNode()); //打印父接口 } }
运行结果:
标签:list integer dtree 创建 main remove treenode null col
原文地址:https://www.cnblogs.com/jssj/p/11617610.html