drzewa - znajdowanie wezla

0

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;
}
0

Zawsze musi być case w switch. Jak kompilator przyjmuje to dziwny kompilator, ale znaczy to samo...


Opolski Portal Programistyczny
http://programowanie.opole.pl

1 użytkowników online, w tym zalogowanych: 0, gości: 1