Mittwoch, 7. April 2010

 

Aufgabe Verkettete Listen - Partner finden für Tanzkurs

Teilnehmerinnen und Teilnehmer melden sich zu einem Tanzkurs an. Der Tanzlehrer stellt die Paare zusammen, indem er immer eine Frau aus der Liste der Teilnehmerinnen und einen Mann aus der Liste der Teilnehmer nimmt (und streicht).

Eine Liste wird immer vollständig leer werden, die zweite kann noch TeilnehmerInnen enthalten.

Aufgabenstellung mit verketteten Listen


Erstellen Sie ein Programm, welches zwei Dateien, in denen die Namen sind, liest und die Namen in die entsprechende Liste (alphabetisch sortiert) einfügt.

Die Zusammenstellung der Paare erfolgt dann so, dass jeweils ein (zufälliges) Element aus der ersten Liste und ein (zufälliges) Element aus der zweiten Liste entfernt. Im einfacheren Fall wird das Paar einfach ausgegeben und die beiden Listenelemente freigegeben (alle Referenzen auf die Listenelemente auf null setzen, sodass der Garbage Collector den Speicher freigeben kann). In der fortgeschrittenen Lösung wird das Paar in eine spezielle Liste übernommen, deren Elemente jeweils Referenzen auf die beiden Teilnehmer enthält. Zum Schluss wird diese Liste ausgegeben.

Mögliche Datenstrukturen


class Teilnehmer {
   Teilnehmer next;
   String name;
}
An geeigneter Stelle sollte es etwas wie folgt geben:
Teilnehmer frauen = null;
Teilnehmer maenner = null;

Für Paare wird es eine eigene Datenstruktur (Klasse) geben:
class Paar {
   Paar next;
   Teilnehmer frau;
   Teilnehmer mann;
}
An geeigneter Stelle sollte es etwas wie folgt geben:
Paar paare = null;

Gesamtprogramm und Tests


Aufrufbeispiel bei zufälliger Auswahl der Tanzpartner:
hp@l211 $ java TanzkursListe male female
6  Paare
========

       Felix <-> Petra
       Franz <-> Sonja
      Harald <-> Elke
      Martin <-> Gabi
       Peter <-> Karin
    Reinhold <-> Brigitte

Übriggebliebene
===============

Andrea

Dabei enthält die Datei male die Namen der Männer und female die Namen der Frauen:
male
Harald
Franz
Martin
Felix
Peter
Reinhold
female
Gabi
Elke
Sonja
Brigitte
Karin
Petra
Andrea

Nach dem Einlesen der Dateien sollten zwei Listen, etwa wie im Bild skizziert, enstehen:

Die Zuordnung der Paare erzeugt eine Liste wie folgt. Eine Dame bleibt bei in der Liste frauen:

Labels: , ,


Kommentare:
Nennen Sie das Projekt java-tanz bzw. nur tanz (z.B. 2ad-maier-java-tanz).
Abgabetermin 5. Mai 2010!
 

Kommentar veröffentlichen

Abonnieren Kommentare zum Post [Atom]





<< Startseite

This page is powered by Blogger. Isn't yours?

Abonnieren Posts [Atom]