Konrad-Adenauer-Gymnasium Langenfeld

Informatik Grundkurs Q1

Die Klasse verketteteListe.java

//
//
// verketteteListe
//
//
import java.util.*;

public class verketteteListe 
{
  private ListenElement Kopf, Ende, Aktuell;
  
  public verketteteListe()
  {
    Kopf=Ende=Aktuell=null;
  }
  
  public void zumAnfang()
  {
    Aktuell=Kopf;
  }
  
  public void zumEnde()
  {
    Aktuell=Ende;
  }
  
  public Object aktuellesElement()
  {
    return Aktuell.Inhalt;
  }
  
  public Object naechstesElement()
  {
    if (istLeer()) 
      return null;
    if(Aktuell.next!=null)
      Aktuell=Aktuell.next;
    return Aktuell.Inhalt;
  }
  
  public Object Vorschau()
  {
    if (istLeer()) 
      return null;
    if (Aktuell.next!=null)
      return Aktuell.next.Inhalt;
    else
      return Aktuell.Inhalt;
  }
  
  public void vorneEinfuegen(Object o)
  {
    ListenElement l=new ListenElement(o,Kopf);
    if (istLeer())   // leere Liste
      Kopf=Ende=Aktuell=l;
    else 
    {
      Kopf=Aktuell=l;
    }
  }
  
  public void einfuegen(Object o)
  {
    if (istLeer())    //leere Liste
    {
      vorneEinfuegen(o);
      return;
    }
    ListenElement neu=new ListenElement(o,Aktuell.next);
    Aktuell.next=neu;
    if (Aktuell==Ende)    //hinten an der Liste angefügt
      Ende=neu;
   }
   
   public Object aktuellesEntfernen()
   {
    if (istLeer())      //leere Liste
      return null;
    ListenElement entferne=Aktuell, temp=Kopf;
    if (entferne==Kopf)  //erstes Element entfernen
    {
      Kopf=Kopf.next;
      Aktuell=Kopf;
    }
    else
    {
      while (temp.next!=entferne)
        temp=temp.next;
      //Vörgänger von entferne in temp
      temp.next=Aktuell.next;
      Aktuell=temp;
    }
    return entferne.Inhalt;
  }
  
  public boolean istLeer()
  {
    return (Kopf==null);
  }
  
  public int gibLänge()
  {
    int Länge=0;
    ListenElement temp=Kopf;
    
    if (istLeer())
      return 0;
    while (temp!=null)
    {
      Länge++;
      temp=temp.next;
    }
    return Länge;
  }
  
}

 


© Ralph-Erich Hildebrandt, 26. November 2004