栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java实现简单树结构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java实现简单树结构

简单的实现了一个树的结构,很不完善!后续参考一些其他代码的实现。

试图实现叶子存在可变的节点,能够用来解析xml文件。

叶子的代码:

package com.app;
 
 import java.util.ArrayList;
 import java.util.List;
 
 public class treeNode {
   public T t;
   private treeNode parent;
   
   public List> nodelist;
   
   public treeNode(T stype){
     t   = stype;
     parent = null;
     nodelist = new ArrayList>();
   }
 
   public treeNode getParent() {
     return parent;
   }  
 }

树的代码:

package com.app;
 
 public class tree {
   
   public treeNode root;
   
   public tree(){}
     
   public void addNode(treeNode node, T newNode){
     //增加根节点
     if(null == node){
if(null == root){
  root = new treeNode(newNode);
}
     }else{
  treeNode temp = new treeNode(newNode);
  node.nodelist.add(temp);
     }
   }
   
   
   public treeNode search(treeNode input, T newNode){
   
     treeNode temp = null;
     
     if(input.t.equals(newNode)){
return input;
     }
     
     for(int i = 0; i < input.nodelist.size(); i++){

temp = search(input.nodelist.get(i), newNode);

if(null != temp){
  break;
}  
     }
     
     return temp;
   }
   
   public treeNode getNode(T newNode){
     return search(root, newNode);
   }
   
   public void showNode(treeNode node){
     if(null != node){
//循环遍历node的节点
System.out.println(node.t.toString());

for(int i = 0; i < node.nodelist.size(); i++){
  showNode(node.nodelist.get(i));
}      
     }
   }
 }

测试的主函数:

package com.app;
 
 public class app {
 
   
   public static void main(String[] args) {
     // TODO Auto-generated method stub
     
     
     //测试
     
     
     tree tree = new tree();
     tree.addNode(null, "string");
     tree.addNode(tree.getNode("string"), "hello");
     tree.addNode(tree.getNode("string"), "world");
     tree.addNode(tree.getNode("hello"), "sinny");
     tree.addNode(tree.getNode("hello"), "fredric");
     tree.addNode(tree.getNode("world"), "Hi");
     tree.addNode(tree.getNode("world"), "York");
     tree.showNode(tree.root);
     
     System.out.println("end of the test");
   }
 
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/148051.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号