Witam, jestem troche noga z programowania. Mam podany kawalek kodu i pierwsze o co chialem spytac to czy jest mozliwe zastosowanie "switch" bez "case" tak jak jest to zrobione ponizej? Jesli tak to jaka jest roznica miedzy switch z case a bez case. Kod pokazuje jak znalezc wezel w drzewie rekurencyjnie.
public Node find(Comparable obj) {
find (obj, root);
}
public Node find(Comparable obj, Node n)
{
if (n == null)
return null;
switch (n.data.compareTo(obj))
{
1 : return find (obj, n.leftChild);
0 : return n;
-1 : return find (obj, n.rightChild);}
}
}
tutaj jest to samo zrobione nierekurencyjnie
public Node find(Comparable obj) {
Node curr = root;
while(curr != null)
{ switch (curr.data.compareTo(obj))
{
case 1 : curr = curr.leftChild;
break;
case 0 : return curr;
case -1 : curr = curr.rightChild;
break;
}
}
// didn't find it
return null;
}