• Keine Ergebnisse gefunden

Übung 1: Verkettete Liste

N/A
N/A
Protected

Academic year: 2022

Aktie "Übung 1: Verkettete Liste"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Übung 1: Verkettete Liste

Abgabetermin: 15.03.2011

Name: __________________________________________ Matrikelnummer: _________________

Gruppe:

☐ G1 Di 10:15 ☐ G2 Di 11:00 ☐ G3 Di 12:45

Aufgabe Punkte gelöst abzugeben

schriftlich

abzugeben elektronisch

Korr. Punkte

Aufgabe 1 24 ☐ Java-Programm

Testfälle und Ergebnisse Java-Programm ☐

Aufgabe 1: Verkettete Liste für Integer-Zahlen (24 Punkte)

Implementieren Sie die abstrakte Klasse List, die Integer-Zahlen als verkettete Liste speichert. Die Klasse soll folgende Methoden haben: search prüft ob eine Zahl vorhanden ist, delete entfernt eine Zahl, size liefert die Anzahl der Zahlen, und iterator liefert einen Iterator mit dem die Liste durchlaufen werden kann. Die Methoden prepend, append, insert werden erst in Subklassen implementiert und lösen in List eine Unsup- portedOperationException aus.

public  abstract  class  List  {

   public  boolean  search(int  value)  {  ...  }    public  boolean  delete(int  value)  {  ...  }    public  int  removeAt(int  index)  {  ...  }    public  int  size()  {  ...  }

   public  Iterator  iterator()  {  ...  }    public  void  prepend(int  value)  {  ...  }    public  void  append(int  value)  {  ...  }    public  void  insert(int  value)  {  ...  } }

public  abstract  class  Iterator  {    public  abstract  boolean  hasNext();

   public  abstract  int  next();

}

Implementieren Sie die Klassen LinkedList und SortedList als Subklassen von List. Die Klasse LinkedList speichert die Zahlen unsortiert und überschreibt die Methoden: prepend fügt vorne ein und append fügt hin- ten ein. Speichern Sie in der Liste einen tail-Zeiger, damit Sie in der Methode append hinten anfügen kön- nen ohne die Liste durchlaufen müssen. Die Klasse SortedList speichert die Zahlen sortiert und überschreibt die Methode insert um sortiert einzufügen.

public  class  LinkedList  extends  List  {    public  void  prepend(int  value)  {  ...  }    public  void  append(int  value)  {  ...  } }

public  class  SortedList  extends  List  {    public  void  insert(int  value)  {  ...  } }  

LinkedList  l  =  new  LinkedList();

l.append(5);

l.append(6);

l.prepend(7);

Out.print(l.size()  +  ":  ");

Iterator  it  =  l.iterator();

while  (it.hasNext())  {

   Out.print("  "  +  it.next());

}

//  Ausgabe  3:  7  5  6

Abzugeben ist: Java-Programm, Testfälle und Ergebnisse

Übung Praktische Informatik 2 SS 2011

Referenzen

ÄHNLICHE DOKUMENTE

1) Einfügen in Rot-Schwarz Baum (zeichnen) Geben Sie Rot-Schwarz-Bäume an (mit allen. Zwischenschritten), die beim Einfügen der Buchstaben

Implementieren Sie eine Zahlenmenge mit Hilfe einer linearen Liste (Hinweise: Ein Menge enthält niemals mehrere Exemplare der

Implementieren Sie eine Zahlenmenge mit Hilfe einer linearen Liste (Hinweise: Ein Menge enthält niemals mehrere Exemplare der

• Iterator<WordData> iterator() liefert einen Iterator für alle verschiedenen Wörter. Der Iterator soll die Wörter in genau der Reihenfolge liefern, in der die Wörter in

Der Kellerspeicher hat folgende Methoden: push kellert eine Zahl ein, pop kellert eine Zahl aus, size liefert die Anzahl der Zahlen und iterator liefert einen Iterator mit dem

Der Suchbaum hat folgende Metho- den: insert fügt eine Zahl sortiert ein, search sucht den Knoten mit der gegebenen Zahl, delete entfernt eine Zahl und size liefert die Anzahl

Implementieren Sie eine doppelt verkettete Liste für Objekte in der Klasse LinkedList.. Die Schnittstelle ist durch die abstrakte Klasse List gegeben (für Methodenbeschreibungen

Die Schnittstellen sind durch die abstrakten Klassen ​ List ​ und Iterator ​ gegeben (für Methodenbeschreibungen siehe Java-Dokumentation in dem Vorgabeprojekt).. ● Fügen Sie