public class BinaerBaum // ------------------------------------
{ Knoten wurzel;

  public BinaerBaum()
  {  wurzel = null;  }
  
  public void rekFuegeEin(Knoten ast, int wert)
  { if (wert < ast.inhalt)
         { // links einfuegen
           if (ast.links == null)
                ast.links = new Knoten(wert);
           else rekFuegeEin(ast.links, wert);
         }
    else { // rechts einfuegen
           if (ast.rechts == null)
                ast.rechts = new Knoten(wert);
           else rekFuegeEin(ast.rechts, wert);
         }
  } // rekFuegeEin

  public void fuegeEin(int wert)
  { if (wurzel == null)
         wurzel = new Knoten(wert);
    else rekFuegeEin(wurzel, wert);
  } // FuegeEin

  public void rekLaufeDurch(Knoten ast)
  { if (ast != null)
         { rekLaufeDurch (ast.links);
           Out.print(ast.inhalt); Out.println();
           rekLaufeDurch (ast.rechts);
         }
  } // rekLaufeDurch

  public void laufeDurch()
  { if (wurzel != null)
         { rekLaufeDurch(wurzel.links);
           Out.print(wurzel.inhalt); Out.println();
           rekLaufeDurch(wurzel.rechts);
         }
  } // laufeDurch
} // class BinaerBaum

