Initial sharing of project

This commit is contained in:
test
2023-04-25 10:48:34 +02:00
commit de5aafc82e
15 changed files with 946 additions and 0 deletions

59
Liste/ABSCHLUSS.java Normal file
View File

@@ -0,0 +1,59 @@
package Liste;
/**
* Abschlusselement der Liste.
*
* @author Albert Wiedemann
* @version 1.0
*/
class ABSCHLUSS extends LISTENELEMENT
{
/**
* Der Konstruktor hat keine Arbeit
*/
ABSCHLUSS ()
{
super (); // Nur zur Dokumentation
}
/**
* Meldet das Datenelement des ersten Knotens zurück
* @return Datenelement des ersten Knotens
*/
DATENELEMENT AnfangGeben ()
{
return null;
}
/**
* Fügt ein neues Datenelement am Ende der Liste an.
* @param daten das neue Datenelement
*/
LISTENELEMENT HintenEinfuegen (DATENELEMENT daten)
{
return new KNOTEN (daten, this);
}
/**
* Entfernt den Knoten mit dem angegebenen Element aus der Liste.
* @param d_raus das zu löschende Datenelement.
* @return (neuer) Nachfolger
*/
LISTENELEMENT KnotenEntfernen (DATENELEMENT d_raus)
{
return this;
}
/**
* Meldet, ob die Liste ein Datenelement mit dem angegebenen Schlüssel enthält.
* @param d Datenelement mit den zu suchenden Schlüsselwert
* @return true, wenn das Datenelement gefunden wurde
*/
boolean Enthaelt (DATENELEMENT d)
{
return false;
}
}

19
Liste/DATENELEMENT.java Normal file
View File

@@ -0,0 +1,19 @@
package Liste;
/**
* Beschreibt das in der Warteschlange verwaltete Datenelement.
*
* @author Albert Wiedemann
* @version 1.0
*/
public interface DATENELEMENT
{
/**
* Testet, ob das Datenelemnt den gleichen Schlüsselwert hat wie das übergebene Datenelement.
* @param d zu vergleichendes Datenelement
* return true, wernn dei Schlüsselwerte gleich sind
*/
boolean SchluesselIstGleich (DATENELEMENT d);
}

81
Liste/KNOTEN.java Normal file
View File

@@ -0,0 +1,81 @@
package Liste;
/**
* Verwaltet einen Knoten der Warteschlange.
*
* @author Albert Wiedemann
* @version 1.0
*/
class KNOTEN extends LISTENELEMENT
{
/** Referenz auf den Nachfolger */
private LISTENELEMENT nachfolger;
/** Referenz auf das verwaltete Datenelement */
private DATENELEMENT daten;
/**
* Legt einen Knoten mit angegebenen Nachfolger und angegebenem Datenelement an.
* @param daten das verwaltete Datenelement.
* @param nachfolger der Nachfolger des Knotens
*/
KNOTEN (DATENELEMENT daten, LISTENELEMENT nachfolger)
{
this. daten = daten;
this. nachfolger = nachfolger;
}
/**
* Meldet das Datenelement des ersten Knotens zurück
* @return Datenelement des ersten Knotens
*/
DATENELEMENT AnfangGeben ()
{
return daten;
}
/**
* Fügt ein neues Datenelement am Ende der Liste an.
* @param daten das neue Datenelement
*/
LISTENELEMENT HintenEinfuegen (DATENELEMENT daten)
{
nachfolger = nachfolger. HintenEinfuegen (daten);
return this;
}
/**
* Entfernt den Knoten mit dem angegebenen Element aus der Liste.
* @param d_raus das zu löschende Datenelement.
* @return (neuer) Nachfolger
*/
LISTENELEMENT KnotenEntfernen (DATENELEMENT d_raus)
{
if (daten == d_raus)
{
return nachfolger;
}
else
{
nachfolger = nachfolger. KnotenEntfernen (d_raus);
return this;
}
}
/**
* Meldet, ob die Liste ein Datenelement mit dem angegebenen Schlüssel enthält.
* @param d Datenelement mit den zu suchenden Schlüsselwert
* @return true, wenn das Datenelement gefunden wurde
*/
boolean Enthaelt (DATENELEMENT d)
{
if (daten. SchluesselIstGleich (d))
{
return true;
}
else
{
return nachfolger. Enthaelt (d);
}
}
}

56
Liste/LISTE.java Normal file
View File

@@ -0,0 +1,56 @@
package Liste;
/**
* Verwaltet eine Liste von Datenelementen
*
* @author Albert Wiedemann
* @version 1.0
*/
public class LISTE
{
/** Referenz auf den ersten Knoten der Liste */
private LISTENELEMENT anfang;
/**
* Legt eine leere Liste an.
*/
public LISTE ()
{
anfang = new ABSCHLUSS ();
}
/**
* Fügt ein neues Datenelement am Ende der Liste an.
* @param daten das neue Datenelement
*/
public void HintenEinfuegen (DATENELEMENT daten)
{
anfang = anfang. HintenEinfuegen (daten);
}
/**
* Entfernt das erste Datenelement aus der Warteschlange.
* @return erstes Datenelement
*/
public DATENELEMENT AnfangEntfernen ()
{
DATENELEMENT resultat;
resultat = anfang. AnfangGeben ();
if (resultat != null)
{
anfang = anfang. KnotenEntfernen (resultat);
}
return resultat;
}
/**
* Meldet, ob die Liste ein Datenelement mit dem angegebenen Schlüssel enthält.
* @param d Datenelement mit den zu suchenden Schlüsselwert
* @return true, wenn das Datenelement gefunden wurde
*/
public boolean Enthaelt (DATENELEMENT d)
{
return anfang. Enthaelt (d);
}
}

40
Liste/LISTENELEMENT.java Normal file
View File

@@ -0,0 +1,40 @@
package Liste;
/**
* Verwaltet ein allgemeines Element der Warteschlange.
*
* @author Albert Wiedemann
* @version 1.0
*/
abstract class LISTENELEMENT
{
/**
* Meldet das Datenelement des ersten Knotens zurück
* @return Datenelement des ersten Knotens
*/
abstract DATENELEMENT AnfangGeben ();
/**
* Fügt ein neues Datenelement am Ende der Liste an.
* @param daten das neue Datenelement
*/
abstract LISTENELEMENT HintenEinfuegen (DATENELEMENT daten);
/**
* Entfernt den Knoten mit dem angegebenen Element aus der Liste.
* @param d_raus das zu löschende Datenelement.
* @return (neuer) Nachfolger
*/
abstract LISTENELEMENT KnotenEntfernen (DATENELEMENT d_raus);
/**
* Meldet, ob die Liste ein Datenelement mit dem angegebenen Schlüssel enthält.
* @param d Datenelement mit den zu suchenden Schlüsselwert
* @return true, wenn das Datenelement gefunden wurde
*/
abstract boolean Enthaelt (DATENELEMENT d);
}

97
Liste/bluej.pkg Normal file
View File

@@ -0,0 +1,97 @@
#BlueJ package file
dependency1.from=LISTENELEMENT
dependency1.to=DATENELEMENT
dependency1.type=UsesDependency
dependency10.from=KNOTEN
dependency10.to=ABSCHLUSS
dependency10.type=UsesDependency
dependency2.from=ABSCHLUSS
dependency2.to=DATENELEMENT
dependency2.type=UsesDependency
dependency3.from=ABSCHLUSS
dependency3.to=KNOTEN
dependency3.type=UsesDependency
dependency4.from=LISTE
dependency4.to=DATENELEMENT
dependency4.type=UsesDependency
dependency5.from=LISTE
dependency5.to=LISTENELEMENT
dependency5.type=UsesDependency
dependency6.from=LISTE
dependency6.to=ABSCHLUSS
dependency6.type=UsesDependency
dependency7.from=KNOTEN
dependency7.to=DATENELEMENT
dependency7.type=UsesDependency
dependency8.from=ABSCHLUSS
dependency8.to=LISTENELEMENT
dependency8.type=UsesDependency
dependency9.from=KNOTEN
dependency9.to=LISTENELEMENT
dependency9.type=UsesDependency
package.editor.height=400
package.editor.width=560
package.editor.x=596
package.editor.y=159
package.numDependencies=10
package.numTargets=5
package.showExtends=true
package.showUses=true
target1.editor.height=700
target1.editor.width=900
target1.editor.x=0
target1.editor.y=22
target1.height=50
target1.name=DATENELEMENT
target1.naviview.expanded=true
target1.showInterface=false
target1.type=InterfaceTarget
target1.width=120
target1.x=100
target1.y=300
target2.editor.height=700
target2.editor.width=900
target2.editor.x=0
target2.editor.y=22
target2.height=50
target2.name=LISTENELEMENT
target2.naviview.expanded=true
target2.showInterface=false
target2.type=AbstractTarget
target2.width=120
target2.x=190
target2.y=150
target3.editor.height=700
target3.editor.width=900
target3.editor.x=0
target3.editor.y=22
target3.height=50
target3.name=ABSCHLUSS
target3.showInterface=false
target3.type=ClassTarget
target3.width=100
target3.x=340
target3.y=70
target4.editor.height=700
target4.editor.width=900
target4.editor.x=0
target4.editor.y=22
target4.height=50
target4.name=LISTE
target4.naviview.expanded=true
target4.showInterface=false
target4.type=ClassTarget
target4.width=80
target4.x=10
target4.y=210
target5.editor.height=700
target5.editor.width=900
target5.editor.x=0
target5.editor.y=22
target5.height=50
target5.name=KNOTEN
target5.showInterface=false
target5.type=ClassTarget
target5.width=80
target5.x=440
target5.y=250

97
Liste/package.bluej Normal file
View File

@@ -0,0 +1,97 @@
#BlueJ package file
dependency1.from=LISTENELEMENT
dependency1.to=DATENELEMENT
dependency1.type=UsesDependency
dependency10.from=KNOTEN
dependency10.to=ABSCHLUSS
dependency10.type=UsesDependency
dependency2.from=ABSCHLUSS
dependency2.to=DATENELEMENT
dependency2.type=UsesDependency
dependency3.from=ABSCHLUSS
dependency3.to=KNOTEN
dependency3.type=UsesDependency
dependency4.from=LISTE
dependency4.to=DATENELEMENT
dependency4.type=UsesDependency
dependency5.from=LISTE
dependency5.to=LISTENELEMENT
dependency5.type=UsesDependency
dependency6.from=LISTE
dependency6.to=ABSCHLUSS
dependency6.type=UsesDependency
dependency7.from=KNOTEN
dependency7.to=DATENELEMENT
dependency7.type=UsesDependency
dependency8.from=ABSCHLUSS
dependency8.to=LISTENELEMENT
dependency8.type=UsesDependency
dependency9.from=KNOTEN
dependency9.to=LISTENELEMENT
dependency9.type=UsesDependency
package.editor.height=400
package.editor.width=560
package.editor.x=596
package.editor.y=159
package.numDependencies=10
package.numTargets=5
package.showExtends=true
package.showUses=true
target1.editor.height=700
target1.editor.width=900
target1.editor.x=0
target1.editor.y=22
target1.height=50
target1.name=DATENELEMENT
target1.naviview.expanded=true
target1.showInterface=false
target1.type=InterfaceTarget
target1.width=120
target1.x=100
target1.y=300
target2.editor.height=700
target2.editor.width=900
target2.editor.x=0
target2.editor.y=22
target2.height=50
target2.name=LISTENELEMENT
target2.naviview.expanded=true
target2.showInterface=false
target2.type=AbstractTarget
target2.width=120
target2.x=190
target2.y=150
target3.editor.height=700
target3.editor.width=900
target3.editor.x=0
target3.editor.y=22
target3.height=50
target3.name=ABSCHLUSS
target3.showInterface=false
target3.type=ClassTarget
target3.width=100
target3.x=340
target3.y=70
target4.editor.height=700
target4.editor.width=900
target4.editor.x=0
target4.editor.y=22
target4.height=50
target4.name=LISTE
target4.naviview.expanded=true
target4.showInterface=false
target4.type=ClassTarget
target4.width=80
target4.x=10
target4.y=210
target5.editor.height=700
target5.editor.width=900
target5.editor.x=0
target5.editor.y=22
target5.height=50
target5.name=KNOTEN
target5.showInterface=false
target5.type=ClassTarget
target5.width=80
target5.x=440
target5.y=250