Hallo,
ich habe das folgende Code:
kann jemend vielleicht sagen, warum 1 als Ergebnis geliefert wird?
Gruß,
G.M.
ich habe das folgende Code:
Code:
class MMenge<T extends Comparable>
{
Node root = null;
class Node<T extends Comparable>
{
T value;
int indx = 1;
Node left, right;
public Node(T v)
{
value = v;
}
}
void insert(T[] val)
{
boolean hilfe = true;
for (int i = 0; i < val.length; i++)
{
if (root == null)
{
root = new Node<T> (val[i]);
return;
}
Node parent = null, child = root;
while (child != null)
{
parent = child;
if (child.value.compareTo(val[i]) == 0)
{
parent.indx += 1;
hilfe = false;
return;
}
if (child.value.compareTo(val[i]) < 0)
child = child.left;
else
child = child.right;
}
if (parent.value.compareTo(val[i]) == 0 && hilfe)
{
child.indx += 1;
return;
}
if (parent.value.compareTo(val[i]) < 0 && hilfe)
parent.left = new Node<T>(val[i]);
else
parent.right = new Node<T>(val[i]);
}
}
int anzahl(MMenge<T> baum, T wert)
{
int ergebniss = -1;
Node parent = root;
while(parent != null)
{
if(parent.value.compareTo(wert) == 0)
{
ergebniss = parent.indx;
return ergebniss;
}
if(parent.value.compareTo(wert) < 0)
parent = parent.left;
else
parent = parent.right;
}
return ergebniss;
}
public static void main(String[] args)
{
MMenge<String> test = new MMenge<String>();
String[] hallo = {"a","a","a","v","d","f","r"};
test.insert(hallo);
MMenge<String> test2 = new MMenge<String>();
test2 = test;
System.out.println(test.anzahl(test2, "a"));
}
}
Gruß,
G.M.