Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [java] Alberi..

  1. #1

    [java] Alberi..

    ciao a tutti...qualcuno mi può dire la sintassi esatta per costruire un albero (non binario)?
    Grazie
    Luca

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Un modo puo essere questo:

    codice:
    //un albero contiene il puntatore al (primo) filgio e al fratello
    class Albero{
          public Albero figlio;
          public Albero fratello;
          
          public Albero(Albero figlio, Albero fratello){
               this.figlio = figlio;
               this.fratello = fratello;
          }
    }
    oppure:

    codice:
    //un albero contiene direttamete la lista dei figli
    class Albero{
           private Vector figli;
          
          public Albero(){
               fratelli = new Vector();
          }
    
          public Albero(Vector figli){
               this.figli = figli
          }
    
          public addFiglio(Albero figlio){
                figli.add(figlio);
          }
    
          public Albero getFiglio(i){
                return (Albero)figli.get(i);
          }
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    ciao , sto cercando di implementare un albero per gestire una Jtree.
    Ho visto il codice qua sopra
    class Albero{
    private Vector figli;

    public Albero(){
    fratelli = new Vector();
    }

    public Albero(Vector figli){
    this.figli = figli
    }

    public addFiglio(Albero figlio){
    figli.add(figlio);
    }

    public Albero getFiglio(i){
    return (Albero)figli.get(i);
    }
    }
    e vorrei sapere come si caricano i nodi:io faccio cosi' ma non funziona:
    FileNode f= new FileNode();
    //campo contenuto nella classe
    f.file=res;
    e , il mio albero personalizzato per la jtree è questo:
    class FileNode {
    int i=0;
    String file;
    Vector figli;
    Object[] children;
    public FileNode() {
    figli=new Vector();
    }
    public FileNode(String testo) {
    file=testo;
    Vector fratelli=new Vector();
    }
    public FileNode(Vector mfigli) {
    this.figli=mfigli;
    }
    // Used to sort the file names.
    static private MergeSort fileMS = new MergeSort() {
    public int compareElementsAt(int a, int b) {
    return ((String)toSort[a]).compareTo((String)toSort[b]);
    }
    };

    /**
    * Returns the the string to be used to display this leaf in the JTree.
    */
    public void addFiglio(FileNode figlio){

    figli.add(figlio);

    }


    public FileNode getFiglio(int i){
    return (FileNode)figli.get(i);
    }
    public String toString() {
    return file;
    }

    public String getFile() {
    return file;
    }

    /**
    * Loads the children, caching the results in the children ivar.
    */

    public Object[] getChildren(){
    return figli.toArray();
    }
    dove sbaglio?

    f.addFiglio(f);

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    up

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.