Gast
2006-11-22, 20:33:00
Hi,
package util;
import courseadmin.Student;
public class BinaryTree {
BinaryNode root;
public BinaryTree()
{
root=new BinaryNode(null,null,new Student("Klaus","Westermann"));
}
public BinaryNode getRoot() {
return root;
}
public void insert(Object p ,BinaryNode pos)
{
if(pos==null)
{
pos=new BinaryNode(null,null,p);
Student s=(Student) pos.item;
System.out.println("Trage " +s.getForeName());
return;
}
if(root.isLess(p)==true)
{ System.out.println("Links");
insert(p,pos.left);
}
else
{
System.out.println("Right");
insert(p,pos.right);
}
}
Aus der Main:
BinaryTree t=new BinaryTree();
BinaryNode root=t.getRoot();
Student st=new Student("Theo","Test");
Student ts=new Student("Alfer","Alda");
Student test=new Student("Tim ","Lewen");
t.insert(st, root);
t.insert(ts, root);
t.insert(test, root);
Mich verwundert die Ausgabe nämlich:
Konstruktor
Right
Trage Theo
Links
Trage Alfer
Right
Trage Tim
Spätestens beim dritten Einträg hätte ich erwartet, dass zwei links oder rechts hintereinstehen hätte.
Wo liegt mein Gedankenfehler?
package util;
import courseadmin.Student;
public class BinaryTree {
BinaryNode root;
public BinaryTree()
{
root=new BinaryNode(null,null,new Student("Klaus","Westermann"));
}
public BinaryNode getRoot() {
return root;
}
public void insert(Object p ,BinaryNode pos)
{
if(pos==null)
{
pos=new BinaryNode(null,null,p);
Student s=(Student) pos.item;
System.out.println("Trage " +s.getForeName());
return;
}
if(root.isLess(p)==true)
{ System.out.println("Links");
insert(p,pos.left);
}
else
{
System.out.println("Right");
insert(p,pos.right);
}
}
Aus der Main:
BinaryTree t=new BinaryTree();
BinaryNode root=t.getRoot();
Student st=new Student("Theo","Test");
Student ts=new Student("Alfer","Alda");
Student test=new Student("Tim ","Lewen");
t.insert(st, root);
t.insert(ts, root);
t.insert(test, root);
Mich verwundert die Ausgabe nämlich:
Konstruktor
Right
Trage Theo
Links
Trage Alfer
Right
Trage Tim
Spätestens beim dritten Einträg hätte ich erwartet, dass zwei links oder rechts hintereinstehen hätte.
Wo liegt mein Gedankenfehler?