Heim > Java > javaLernprogramm > Hauptteil

Java implementiert eine einfache Baumstruktur

高洛峰
Freigeben: 2017-01-17 13:50:10
Original
1618 Leute haben es durchsucht

Es wird lediglich eine Baumstruktur implementiert, was sehr unvollkommen ist! Bitte beziehen Sie sich später auf die Implementierung einiger anderer Codes.

Versuch, variable Knoten in Blättern zu implementieren, die zum Parsen von XML-Dateien verwendet werden können.

Blattcode:

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

Baumcode:

package com.app;
  
 public class tree<T> {
    
   public treeNode<T> root;
    
   public tree(){}
      
   public void addNode(treeNode<T> node, T newNode){
     //增加根节点
     if(null == node){
       if(null == root){
         root = new treeNode(newNode);
       }
     }else{
         treeNode<T> temp = new treeNode(newNode);
         node.nodelist.add(temp);
     }
   }
    
   /*  查找newNode这个节点 */
   public treeNode<T> search(treeNode<T> input, T newNode){
    
     treeNode<T> 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<T> getNode(T newNode){
     return search(root, newNode);
   }
    
   public void showNode(treeNode<T> 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));
       }     
     }
   }
 }
Nach dem Login kopieren


Die Hauptfunktion des Tests:

package com.app;
  
 public class app {
  
   /**
    * @param args
 */
   public static void main(String[] args) {
     // TODO Auto-generated method stub
     /*简单实现一个树的结构,后续完善解析xml       */
     /*写得满烂的,后续查阅一些其他代码        2012-3-12  */
     //测试
     /*
     * string
     *     hello
     *       sinny
     *       fredric
     *     world
     *      Hi
     *      York
     * */
      
     tree<String> 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");
   }
  
 }
Nach dem Login kopieren

Ich hoffe auch, dass jeder die chinesische PHP-Website unterstützt.

Weitere Artikel zur Implementierung einfacher Baumstrukturen in Java finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage