Hallo Ihr Lieben,
ich muss eine Liste mit zufälligen Integer sortieren. Das funktioniert soweit auch ganz gut bis der Randomwert gößer als 1000 ist, denn dann gibt es keine Konsolenausgabe mehr.
Datentyp
Das ist meine Main
Woran kann das liegen?
Mfg Poly
ich muss eine Liste mit zufälligen Integer sortieren. Das funktioniert soweit auch ganz gut bis der Randomwert gößer als 1000 ist, denn dann gibt es keine Konsolenausgabe mehr.
Datentyp
Java:
/**
* Binärbaum
* Klasse die einen Binärbaum mit den Werten [Value, left Arm, right Arm] erstellen kann
* @author ******
*
*/
public class Node {
public Node left;
public Node right;
public int value;
/**
* Konstruktor
* @param v Integer gibt einn ganzzahligen Inhalt an
* @param l Linker Ast des Baumes
* @param r rechter Ast des Baumes
*/
public Node (int v, Node l, Node r){
value = v;
left = l;
right = r;
}
/**
* Wandelt den Node in einen Sting um.
*/
public String toString() {
return value + " ";
}
}
Das ist meine Main
Java:
import java.util.LinkedList;
import java.util.List;
public class binsort {
public static void main (String[] args){
List<Integer> liste = new LinkedList<Integer>();
for (int j = 1; j <= 1000; j++) {
liste.add((int)(100000 * Math.random()));
}/*
List<Integer> liste1 = new LinkedList<Integer>();
*/
System.out.println(binSort(liste));
}
/**
* Sortiert eine Liste von klein nach groß.
* @param liste die Sortiert werden soll.
* @return Giebt die Sortierte Liste zurück als String.
*/
private static String binSort(List<Integer> liste) {
if (liste.isEmpty()){
return "Die Liste ist Leer";
}
Node tree = new Node(liste.remove(0), null, null);
for(int i : liste) {
insert(i, tree);
}
return inorder(tree);
}
/**
* Fügt einem Binärbaum einen Wert hinzu. Mit der Regel Kleiner als Wurzel links einfügen und gräßer die Wurzel Rechts einfügen
* @param v Integer Der Wert für den Knoten.
* @param tree Node der einen Binärbaum benötigt.
*/
public static void insert(int v, Node tree){
if(tree == null){
return;
}
if (tree.value == v){
return;
}
if (v < tree.value){
if (tree.left == null) {
tree.left = new Node(v, null, null);
} else {
insert(v, tree.left);
}
}
if (v > tree.value){
if (tree.right == null) {
tree.right = new Node(v, null, null);
} else {
insert(v, tree.right);
}
}
}
/**
* Gibt einen Binärbaum als String zurück.
* @param n Node der einen Binärbaum benötigt.
* @return String Gibt den Binärbaum als String von links nach rechts Zurück.
*/
public static String inorder(Node n){
if (n == null) {
return "";
}
return inorder(n.left) + n + inorder(n.right);
}
}
Woran kann das liegen?
Mfg Poly