Lernpfad:Rekursion in Java/Selbst eine rekursive Methode schreiben: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
Zeile 64: Zeile 64:
=== Suche in einem unsortierten Haufen ===
=== Suche in einem unsortierten Haufen ===
Sucht man in einem heruntergefallenen Kartenstapel nach einer speziellen Karte, so muss man sich alle Karten ansehen, da sie in keiner speziellen Ordnung herunterfallen, sondern völlig durcheinander sind.
Sucht man in einem heruntergefallenen Kartenstapel nach einer speziellen Karte, so muss man sich alle Karten ansehen, da sie in keiner speziellen Ordnung herunterfallen, sondern völlig durcheinander sind.
In Java können die Karten in einem Array verwaltet werden:
<syntaxhighlight lang="java">
public class Kartenhaufen{
  Karte[] haufen;
  public Kartenhaufen(){
    haufen = new Karte[32];
    for (int i= 0; i<haufen.length;i++){
      haufen[i] = new Karte(); // Erzeugt eine zufällige Karte
    }
  }
  public Karte sucheKarte(String farbe, String wert){
    for (int i=0; i< haufen.length;i++){  //Der ganze Array soll durchlaufen werden.
      Karte k = haufen[i];                //Die aktuelle Karte wird aus dem Array geholt und eine Referenz k auf das Element wird erstellt.
      if(k.getFarbe().equals(farbe) &&    //Die Daten der aktuellen Karte k werden mit der Farbe und dem Wert verglichen
        k.getWert().equals(wert)){
        return k;                        //Falls die Werte übereinstimmen, wird eine Referenz auf die Karte zurückgegeben.
      }
    }
  }
</syntaxhighlight>




Z.B. die Telefonnummer in einem Telefonbuch. Das Telefonbuch ist nur deshalb praktikabel, weil es die Namen der Personen geordnet angibt. In einem geordneten Array kann man also schneller suchen, als in
Z.B. die Telefonnummer in einem Telefonbuch. Das Telefonbuch ist nur deshalb praktikabel, weil es die Namen der Personen geordnet angibt. In einem geordneten Array kann man also schneller suchen, als in
130

Bearbeitungen

Navigationsmenü