Hallo,
Ich versuche ein Applet zu erstellen, welches die Pre-,Post-, und In-Order Traversierungen beinhaltet. Das Applet habe ich schon fertig. Ich weiß nun leider nicht, wie ich das hinbekomme die Hauptmethoden zu implementieren und brauche dringend Hilfe dabei... Bin nicht gut im Programmieren und brauche dementsprechend dringend Hilfe. Im Endeffekt will ich die Zahlen eingeben können und dann mir die Traveriserungsmethoden aussuchen können.. Danke im Voraus.. LG
Knoten.Java
BinSuchBaum
BinBaumPrototyp
Applet
Ich versuche ein Applet zu erstellen, welches die Pre-,Post-, und In-Order Traversierungen beinhaltet. Das Applet habe ich schon fertig. Ich weiß nun leider nicht, wie ich das hinbekomme die Hauptmethoden zu implementieren und brauche dringend Hilfe dabei... Bin nicht gut im Programmieren und brauche dementsprechend dringend Hilfe. Im Endeffekt will ich die Zahlen eingeben können und dann mir die Traveriserungsmethoden aussuchen können.. Danke im Voraus.. LG
Knoten.Java
Java:
public class Knoten
{
protected Object Inhalt;
private Knoten links, rechts;
public Knoten()
{
Object Inhalt;
links = rechts = null;
}
public Knoten(Object inhalt)
{
setInhalt(inhalt);
links = rechts = null;
}
public void setInhalt(Object inhalt)
{
this.Inhalt = inhalt;
}
public Object getInhalt()
{
return this.Inhalt;
}
public void setLinks(Knoten links)
{
this.links = links;
}
public Knoten getLinks()
{
return links;
}
public void setRechts(Knoten rechts)
{
this.rechts = rechts;
}
public Knoten getRechts()
{
return rechts;
}
}
BinSuchBaum
Java:
public class BinSuchBaum extends BinBaumPrototyp
{
public BinSuchBaum (String ident)
{
super (ident);
}
public void fuegeEin(Object wert)
{
wurzel = fuegeEin(wurzel, wert);
}
public static void main (String [] args)
{
}
private Knoten fuegeEin(Knoten aktuell, Object wert)
{
if(aktuell == null)
aktuell = new Knoten(wert);
else{
if (wert.toString().compareTo(aktuell.getInhalt().toString())<0)
{
aktuell.setLinks(fuegeEin(aktuell.getLinks(),wert));
}
else
aktuell.setRechts(fuegeEin(aktuell.getRechts(),wert));
}
return aktuell;
}
}
BinBaumPrototyp
Java:
public abstract class BinBaumPrototyp
{
// Anfang Attribute
public Knoten wurzel;
private String ident;
// Ende Attribute
public BinBaumPrototyp(String ident)
{
this.ident=ident;
}
// Anfang Methoden
public abstract void fuegeEin(Object wert);
public String inOrder()
{
return inOrder(wurzel);
}
private String inOrder(Knoten knoten)
{
String s = "";
if (knoten!= null)
{
s += inOrder(knoten.getLinks());
s += knoten.getInhalt().toString()+" ";
s += inOrder(knoten.getRechts());
}
return s;
}
public String preOrder()
{
return preOrder(wurzel);
}
private String preOrder(Knoten knoten)
{
String s="";
if (knoten!= null)
{
s += knoten.getInhalt().toString()+" ";
s += inOrder(knoten.getLinks());
s += inOrder(knoten.getRechts());
} // end of if
return s;
}
public String postOrder()
{
return postOrder(wurzel);
}
private String postOrder(Knoten knoten)
{
String s="";
if (knoten!= null)
{
s += inOrder(knoten.getLinks());
s += inOrder(knoten.getRechts());
s += knoten.getInhalt().toString()+" ";
} // end of if
return s;
}
// Ende Methoden
}
Applet
Java:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.util.concurrent.TimeUnit;
public class BinBaumPrototypApplet extends Applet implements ActionListener
{
Panel pnTitel = new Panel();
Panel pnStart = new Panel();
Panel pnSecond = new Panel();
Panel pnThird = new Panel();
Panel pnCopyright = new Panel();
Button btIn = new Button ("In-Order");
Button btPre = new Button ("Pre-Order");
Button btPo = new Button ("Post-Order");
Button btEingabe = new Button ("Einfügen");
Label lbHeader = new Label("Binärer Suchbaum");
Label lbCopyright = new Label(" von mir ----- Stand 17. Dezember 2018");
Label lbEingabe = new Label ("Eingabe");
Label lbAusgabe = new Label ("Ausgabe");
Font ftHFont = new Font ("Dialog", Font.BOLD,50);
Font ftCFont = new Font ("Dialog", Font.PLAIN,20);
TextField tfName = new TextField (60);
TextField tfKasse = new TextField (60);
TextField tfNext = new TextField (60);
TextField tfEingabe = new TextField (60);
TextField tfAusgabe = new TextField (60);
public void init()
{
resize(800,800);
setLayout(new GridLayout(5,5));
add(pnTitel);
pnTitel.setBackground(Color.blue);
pnTitel.add(lbHeader);
lbHeader.setFont(ftHFont);
lbHeader.setForeground(Color.white);
add(pnCopyright);
pnCopyright.setBackground(Color.blue);
pnCopyright.add(lbCopyright);
lbCopyright.setFont(ftCFont);
lbCopyright.setForeground(Color.white);
add(pnStart);
add(pnSecond);
add(pnThird);
pnStart.add(lbEingabe);
pnStart.add(tfEingabe);
pnStart.add(btEingabe);
btIn.addActionListener(this);
btPre.addActionListener(this);
btPo.addActionListener(this);
pnSecond.add(btIn);
pnSecond.add(btPre);
pnSecond.add(btPo);
pnThird.add(lbAusgabe);
pnThird.add(tfAusgabe);
add(pnCopyright);
pnCopyright.setBackground(Color.blue);
pnCopyright.add(lbCopyright);
lbCopyright.setFont(ftCFont);
lbCopyright.setForeground(Color.white);
}
public void actionPerformed(ActionEvent evt)
{
Object cmd = evt.getSource();
if (cmd == btIn)
{
}
if (cmd == btPre)
{
}
if (cmd == btPo)
{
}
}
}
Zuletzt bearbeitet: