Hallo Java Community,
Könnt ihr bitte meine Fragen Beantworten zu folgender Aufgabenstellung
In dieser Aufgabe sollen Sie einen binären Baum für beliebige Datentypen implementieren. Legen Sie sich dazu zunächst ein neues Eclipse-Projekt mit dem Namen „Aufgabe 9 - GenericBinTree“ an
Die Aufagbe:
Aufgabe 9.1 – BTreeNode und BTree Kopieren Sie die Klassen BTreeNode und BTree aus den Unterverzeichnissen von https://github.com/dbermbach/prog1winf-examples-ws1819. Diese Klassen implementieren einen binären Baum für den Datentyp int. Stellen Sie beide Klassen so um, dass im Baum beliebige Datentypen abgelegt werden können. Nutzen Sie dafür Java Generics und das Interface Comparable.
Das Interface Comparable hilft durch das vergleichen, dass eine Liste sortiert werden kann, wie funktionieren dann die Ablage mehrerer Datentypen damit? . Ich habe es zumindest folgendermaßen versucht
Mein Code
Lg
Louis
Könnt ihr bitte meine Fragen Beantworten zu folgender Aufgabenstellung
In dieser Aufgabe sollen Sie einen binären Baum für beliebige Datentypen implementieren. Legen Sie sich dazu zunächst ein neues Eclipse-Projekt mit dem Namen „Aufgabe 9 - GenericBinTree“ an
Die Aufagbe:
Aufgabe 9.1 – BTreeNode und BTree Kopieren Sie die Klassen BTreeNode und BTree aus den Unterverzeichnissen von https://github.com/dbermbach/prog1winf-examples-ws1819. Diese Klassen implementieren einen binären Baum für den Datentyp int. Stellen Sie beide Klassen so um, dass im Baum beliebige Datentypen abgelegt werden können. Nutzen Sie dafür Java Generics und das Interface Comparable.
Das Interface Comparable hilft durch das vergleichen, dass eine Liste sortiert werden kann, wie funktionieren dann die Ablage mehrerer Datentypen damit? . Ich habe es zumindest folgendermaßen versucht
Mein Code
Code:
/**
*
*/
package de.tuberlin.mcc.prog1winf.datastructures;
/**
* @author Dave
* @param <T>
*
*/
public class BTree<T> implements Comparable<T> {
private BTreeNode root;
public void insert(int value){
if(root==null){
this.root = new BTreeNode(value);
return;
}
insert(root,value);
}
private void insert(BTreeNode node, int value) {
if (node.value > value) {
// links
if (node.left == null) {
// hier einfuegen
node.left = new BTreeNode(value);
return;
} else {
// an Kindknoten delegieren
insert(node.left, value);
}
} else if (node.value < value) {
// rechts
if (node.right == null) {
node.right = new BTreeNode(value);
return;
} else {
insert(node.right, value);
}
} else {
return;
}
}
@Override
public int compareTo(T o) {
// TODO Auto-generated method stub
return 0;
}
}
Code:
/**
*
*/
package de.tuberlin.mcc.prog1winf.datastructures;
/**
* @author Dave
* @param <T>
*
*/
public class BTreeNode<T> implements Comparable<T> {
public int value;
public BTreeNode left;
public BTreeNode right;
/**
* @param value
*/
public BTreeNode(int value) {
super();
this.value = value;
}
@Override
public int compareTo(T o) {
// TODO Auto-generated method stub
return 0;
}
}
Lg
Louis