学习Java的同学注意了!!!
学习进程中遇到甚么问题或想获得学习资源的话,欢迎加入Java学习交换群,群号码:183993990 我们1起学Java!
简单的实现了1个树的结构,很不完善!后续参考1些其他代码的实现。
试图实现叶子存在可变的节点,能够用来解析xml文件。
叶子的代码:
1 package com.app; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class treeNode<T> { 7 public T t; 8 private treeNode<T> parent; 9 10 public List<treeNode<T>> nodelist; 11 12 public treeNode(T stype){ 13 t = stype; 14 parent = null; 15 nodelist = new ArrayList<treeNode<T>>(); 16 } 17 18 public treeNode<T> getParent() { 19 return parent; 20 } 21 }
树的代码:
class tree<T> { 4 5 public treeNode<T> root; 6 public tree(){} 8 9 void addNode(treeNode<T> node,T newNode){ 10 //增加根节点 11 if(null == node){ 12 null == root){ 13 root = new treeNode(newNode); 14 } 15 }else{ 16 treeNode<T> temp = 17 node.nodelist.add(temp); 18 } 19 } 20 21 /* 查找newNode这个节点 */ 22 public treeNode<T> search(treeNode<T> input,128); line-height:1.5!important">23 24 treeNode<T> temp = 25 26 if(input.t.equals(newNode)){ 27 return input; 28 } 29 30 for(int i = 0; i < input.nodelist.size(); i++){ 31 32 temp = search(input.nodelist.get(i),newNode); 33 34 null != temp){ 35 break; 36 } 37 } 38 39 return temp; 40 } 41 42 public treeNode<T> getNode(T newNode){ 43 return search(root,128); line-height:1.5!important">44 } 45 46 void showNode(treeNode<T> node){ 47 null != node){ 48 循环遍历node的节点49 System.out.println(node.t.toString()); 50 51 int i = 0; i < node.nodelist.size(); i++){ 52 showNode(node.nodelist.get(i)); 53 } 54 } 55 } 56 }
测试的主函数:
class app { 4 /** * @param args 7 static void main(String[] args) { 9 Todo Auto-generated method stub简单实现1个树的结构,后续完善解析xml 写得满烂的,后续查阅1些其他代码 2012⑶⑴2 12 测试13 14 * string 15 * hello 16 * sinny 17 * fredric 18 * world 19 * Hi 20 * York 21 * 22 23 tree<String> tree = new tree(); 24 tree.addNode(null,string); 25 tree.addNode(tree.getNode(string),hello); 26 tree.addNode(tree.getNode(string),world); 27 tree.addNode(tree.getNode(hello),sinny); 28 tree.addNode(tree.getNode(hello),fredric); 29 tree.addNode(tree.getNode(world),Hi); 30 tree.addNode(tree.getNode(world),York); 31 tree.showNode(tree.root); 32 33 System.out.println(end of the test); 34 } 35 36 }
学习Java的同学注意了!!!
学习进程中遇到甚么问题或想获得学习资源的话,欢迎加入Java学习交换群,群号码:183993990 我们1起学Java!