Warteschlange realisieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Warteschlange realisieren

    Hallo

    muss noch eine Aufgabe bewähltigen, und zwar:

    Wir betrachten Warteschlangen mit beschr¨ankter Kapazit¨at. Diese bieten die folgenden Operationen
    an:
    • Anh¨angen eines Elementes an die Warteschlange
    • Ermittlung des ersten Elementes in der Warteschlange
    • L¨oschen des ersten Elementes in der Warteschlange
    • Pr¨ufen, ob die Warteschlange leer ist
    • Pr¨ufen, ob die Warteschlange voll ist
    Definieren Sie eine Java-Schnittstelle f¨ur Warteschlangen, die die genannten Operationen umfasst.
    Solche Warteschlangen sollen beliebige Java-Objekte aufnehmen k¨onnen.
    Stellen Sie sich nun vor, Sie sollen in solch einer Warteschlange int-Werte verwalten. Geben
    Sie Java-Anweisungen an, um den Wert der Variablen
    int x = 4711;
    in dieWarteschlange einzustellen. Geben Sie weiterhin Java-Anweisungen an, um denWert des
    ersten Elements der Warteschlange der Variablen
    int y;
    zuzuweisen.
    Definieren Sie eine Java-Klasse, die die Hintereinanderschaltung (Konkatenation) zweier Warteschlangen
    repr¨asentiert. Die Kapazit¨at der konkatenierten Warteschlange soll die Summe der
    Einzelkapazit¨aten sein.

    so dann hab ich mal ein Interface (Schnittstelle) dafür geschrieben die so aussieht:

    Quellcode

    1. interface warteschlange {
    2. void append(int x);
    3. int erstesElement(int y);
    4. void loeschen(int pos);
    5. boolean istleer();
    6. boolean istvoll();
    7. }


    ich denke das ist sogar soweit richtig. Jetzt muss ichaber die eig. Klasse schreiben, die ja dann so aussehen soll:

    Quellcode

    1. public class schlange implements warteschlange {
    2. int x,y;
    3. public schlange(int x, int y)
    4. {
    5. this.x = x;
    6. this.y = y;
    7. }
    8. public void append(int x)
    9. {
    10. }
    11. public int erstesElement(int y)
    12. {
    13. }
    14. public void loeschen(int pos)
    15. {
    16. }
    17. public boolean istleer()
    18. {
    19. }
    20. public boolean istvoll()
    21. {
    22. }
    23. }
    Alles anzeigen


    Irgendwie hab ich aber keine Vorstellung wi man sowas nun realisiert, also die Methoden mit Leben füllt. Nehm ich als Datentyp für die Warteschlange ein Array oder was ganz anderes, oder wie sieht es aus? brauche erstmal generelle Tips wie man an so eine Sache dran geht...

    gruss
    wurstel
  • Da du ja in Java arbeitest, bietet sich doch eine Art verkettete Liste an.

    Du erstellst also einfach ein eine Klasse "Element" das auf ein Element next zeigt.

    Quellcode

    1. public class Element{
    2. private int value;
    3. private Element next;
    4. public Element(int value){
    5. this.value = value;
    6. }
    7. public int getValue(){
    8. retrun this.value;
    9. }
    10. public void setNext(Element next){
    11. this.next = next;
    12. }
    13. public Element getNext(){
    14. retrun this.next;
    15. }
    16. }
    Alles anzeigen


    Dann verweist du in deiner Warteschlangenklasse auf das erste Element in deiner Warteschlange. Ich hoffe das waren erstmal genug Anregungen. Falls du dennoch Probleme hast, melde dich einfach nochmal im Forum!