Binärbaum mit grafischer Ausgabe

Conax

Mitglied
Das Pflichtprogramm habe ich quasi erledigt(siehe Code) aber irgendwie wäre es cool wenn man da noch ne grafische Ausgabe dazu implementieren könnte. Ich habe da auch schon Beispielcode gefunden - allerdings ist da nichts kommentiert so das ich da nicht schlau draus werde wie ich meinen Code nutzen kann um die grafische Ausgabe über den fremden Code zu realisieren (klingt jetzt etwas seltsam aber ich denke Ihr versteht was ich damit sagen möchte).

Hier mal mein Code:
Code:
import java.util.ArrayList;
import java.util.Scanner;

public class Node
{
    //Input over keyboard
    static Scanner userinput = new Scanner(System.in);
   
    static int rootvalue;
    static boolean addingnodes = true;
    static String nodevalue;
    static ArrayList<Integer> nodevaluelist = new ArrayList<Integer>();
   
    int root;
    Node left;
    Node right;
   
    public Node(int root)
    {
        this.root = root;
        this.left = null;
        this.right = null;
    }
   
    public void addNewNode(int value)
    {
        //when our value is smaler as the value from our parent we have to choose the left side
        if(value <= root )
        {
            //we go one area lower and check if on the left side is a free place
            //if this is the case we are adding there our new node
            if(left == null)
            {
                left = new Node(value);
            }
            //if there is already a placed node we jump in that node and do the procedure again by recursion
            else
            {
                left.addNewNode(value);
            }
        }
        //our value is higher compared to our parent node so we have to go to the right side
        else
        {
            //we go one area lower and check if on the right side is a free place
            //if this is the case we are adding there our new node
            if(right == null)
            {
                right = new Node(value);
            }
            //if there is already a placed node we jump in that node and do the procedure again by recursion
            else
            {
                right.addNewNode(value);
            }
        }
    }
   
    public void inorder()
    { 
       if (left != null) left.inorder();
       System.out.println(root);
       if (right != null) right.inorder();
    }
   
    public void preorder()
    { 
       System.out.println(root);
       if (left != null) left.preorder();
       if (right != null) right.preorder();
    }
   
    public void postorder()
    { 
       if (left != null) left.postorder();
       if (right != null) right.postorder();
       System.out.println(root);
    }
   
    public static void dialog()
    {
        System.out.println("Please insert value of root node");
        try
        {
         rootvalue = Integer.parseInt(userinput.next());
        }
        catch (NumberFormatException e) {}
        nodevaluelist.add(rootvalue);
       
       
         while(addingnodes == true)
         {
                System.out.println("You can add another node value type 'no' when you are finished ");
                nodevalue = userinput.next();
               
                 if(nodevalue.equals("no"))
                 {
                        addingnodes = false;
                        //is used for testing if input works fine
                        System.out.println("values of my nodelist");
                        for (Integer output : nodevaluelist)
                        {
                            System.out.println(output);
                        }
                        break;
                 }
                 else
                 {
                  try
                  {
                   nodevaluelist.add(Integer.parseInt(nodevalue));
                  }
                  catch (NumberFormatException e) {}
                 }
             }   
        }
   
   
   
    public static void main(String[] args)
    {
        dialog();
        //I manualy generate the first node because it's the root node and the root node is a special node
        //because it has no parents
        Node node = new Node(nodevaluelist.get(0));
        //after I generated the root node I have to remove this node from my arraylist
        nodevaluelist.remove(0);
        for(int input : nodevaluelist)
        {   
         node.addNewNode(input);
        }
        System.out.println("output as In-order traversal");
        node.inorder();
        System.out.println("output as Pre-order traversal");
        node.preorder();
        System.out.println("output as Post-order traversal");
        node.postorder();
    }
   
}

Hier ist der Code der die grafische Baumstruktur erzeugt:
https://github.com/murtraja/java-binary-tree-printer/blob/master/tree_printer/TreePrinter.java
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y Wie greift man auf die Knoten in einem Binärbaum zu? Java Basics - Anfänger-Themen 5
T Binärbaum-Suche Implementation Java Basics - Anfänger-Themen 6
A Binärbaum rekursiv durchsuchen und Referenz zurückgeben Java Basics - Anfänger-Themen 4
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
D Binärbaum Blätter finden und Ausgeben Java Basics - Anfänger-Themen 22
O BinärBaum einfügen Java Basics - Anfänger-Themen 13
E Erste Schritte Testklasse Binärbaum Java Basics - Anfänger-Themen 10
void19 Methoden Binärbaum Inorder Traversierung in Array speichern Java Basics - Anfänger-Themen 1
A Größten Eintrag aus Binärbaum löschen Java Basics - Anfänger-Themen 4
L Ganzen BinärBaum ausgeben? Java Basics - Anfänger-Themen 3
L Binärbaum (Stammbaum) Java Basics - Anfänger-Themen 8
S Binärbaum in PreOrder in ArrayList speichern Java Basics - Anfänger-Themen 0
J Methoden Binärbaum, Traversierung in Array speichern Java Basics - Anfänger-Themen 18
K BinärBaum Java Basics - Anfänger-Themen 4
J Max. Anzahl von Knoten im Binärbaum Java Basics - Anfänger-Themen 3
M Werte der Knoten in Binärbaum addieren (iterativ) Java Basics - Anfänger-Themen 6
J Binärbaum formatiert ausgeben. Java Basics - Anfänger-Themen 7
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
E Binärbaum - von rekursiv zu iterativ Java Basics - Anfänger-Themen 10
W Größtes Element im unsortierten Binärbaum Java Basics - Anfänger-Themen 7
N Generischer Binärbaum - löschen Java Basics - Anfänger-Themen 1
M Binärbaum mit parent-Zeigern Java Basics - Anfänger-Themen 1
B Methoden BinärBaum als String Knoten löschen Java Basics - Anfänger-Themen 5
S Binärbaum kopieren Java Basics - Anfänger-Themen 6
B Binärbaum mit java implementieren! Java Basics - Anfänger-Themen 5
D Binärbaum Suche Java Basics - Anfänger-Themen 5
D Binärbaum probleme Java Basics - Anfänger-Themen 4
P Binärbaum - Primärschlüssel Java Basics - Anfänger-Themen 3
X Fehler Binärbaum Java Basics - Anfänger-Themen 6
PaulG Fragen zu Binärbaum Java Basics - Anfänger-Themen 21
N Binärbaum/Implementierung Java Basics - Anfänger-Themen 9
P Binärbaum Ordnungsproblem Java Basics - Anfänger-Themen 8
P Generischer Binärbaum (compareTo Frage) Java Basics - Anfänger-Themen 4
P einen binärbaum implementieren Java Basics - Anfänger-Themen 4
M Binärbaum - Problem bei Knoten anhängen / löschen Java Basics - Anfänger-Themen 5
B Binärbaum höhe herausfinden Java Basics - Anfänger-Themen 12
L Rot Scharz Baum von Binärbaum erben Java Basics - Anfänger-Themen 9
S Klassen Aufgabe: Binärbaum überprüfen Java Basics - Anfänger-Themen 16
S Binärbaum Java Basics - Anfänger-Themen 9
S Variable Parameterliste in Binärbaum Java Basics - Anfänger-Themen 2
N BinärBaum Hilfestellung Java Basics - Anfänger-Themen 8
S Binärbaum prüfen, ob sortiert oder unsortiert Java Basics - Anfänger-Themen 6
W Binärbaum zahlen addieren Java Basics - Anfänger-Themen 7
S Binärbaum - Klasse Knoten - Methode Suchen Java Basics - Anfänger-Themen 5
S Binärbaum Java Basics - Anfänger-Themen 7
I Binärbaum Java Basics - Anfänger-Themen 5
S Bitte um Hilfe beim unsortierten Binärbaum!! Java Basics - Anfänger-Themen 6
J Binärbaum getSize Java Basics - Anfänger-Themen 4
P Fragen zum Binärbaum Java Basics - Anfänger-Themen 3
S Binärbaum implementieren Java Basics - Anfänger-Themen 6
K Tiefe im Binärbaum Java Basics - Anfänger-Themen 2
G generischer binärbaum Java Basics - Anfänger-Themen 9
G Binärbaum und Wrapperklassen Java Basics - Anfänger-Themen 6
F Binärbaum codieren. Codeproblem! Java Basics - Anfänger-Themen 4
D rekursion im binärbaum Java Basics - Anfänger-Themen 11
0 Binärbaum als verkettete Liste Java Basics - Anfänger-Themen 3
T Binärbaum - noch ein "klitzekleiner Fehler" Java Basics - Anfänger-Themen 4
B Binärbaum auf Vollständigkeit prüfen Java Basics - Anfänger-Themen 15
G Frage zur einfügen in einem Binärbaum Java Basics - Anfänger-Themen 21
G Binärbaum grafisch darstellen Java Basics - Anfänger-Themen 4
K Compilierfehler bei grafischer Oberfläche Java Basics - Anfänger-Themen 7
W [PROJEKT] Simpler grafischer Taschenrechner Java Basics - Anfänger-Themen 8
M Lottozahlen mit grafischer Oberfläche Java Basics - Anfänger-Themen 6
D Grafischer Oberflächengenerator Java Basics - Anfänger-Themen 7
S Grafischer Taschenrechner geht nicht :-( Java Basics - Anfänger-Themen 19
N Grafischer Zeilensprung Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben