From 90ff5d3a2ad8b2ce7278c069bc9e1a08a87fbeb9 Mon Sep 17 00:00:00 2001 From: david <@> Date: Wed, 18 Jan 2023 10:57:28 +0100 Subject: [PATCH] Ubgrade 18.1. 2023 --- LinkedList.java | 2 +- List.java | 2 +- Node.java | 4 +-- Queue.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++ Stack.java | 68 ++++++++++++++++++++++++++++++++++++++++++++++ test.java | 22 +++++++++++---- 6 files changed, 160 insertions(+), 9 deletions(-) create mode 100644 Queue.java create mode 100644 Stack.java diff --git a/LinkedList.java b/LinkedList.java index 64c31d8..ee9882a 100644 --- a/LinkedList.java +++ b/LinkedList.java @@ -48,7 +48,7 @@ public class LinkedList for(int i = 0; i for(int i = 0; i { -public T zahl; +public T wert; public Node next; public Node(T z){ -zahl = z; +wert = z; } public void setNext(Node n){ next = n; diff --git a/Queue.java b/Queue.java new file mode 100644 index 0000000..e179f65 --- /dev/null +++ b/Queue.java @@ -0,0 +1,71 @@ + +/** + * Beschreiben Sie hier die Klasse Queue. + * + * @author (Ihr Name) + * @version (eine Versionsnummer oder ein Datum) + */ +public class Queue +{ + public Node first; + + public Queue(){ + } + public boolean isEmpty(){ + if(first == null){ + return true; + } + return false; + } + public void enqueue (T neu) { + Node n = new Node(neu);//Neue Node mit Zahl "neu " anlegen + + //Überprüfe ob die liste leer ist + if(first == null){ + //setze neue node als erster Eintrag + first = n; + } + else { + Node current = first; + + while(current.next != null){ + current = current.next; + } + current.setNext(n); + } + + //current ist jetzt der letzte Eintrag + //setze neue Node als Nachfolger von bisher letztem Eintrag + } + + public int laenge(){ + Node current = first; + int laenge = 0; + while(current != null){ + current = current.next; + laenge++; + } + return laenge; + + } + + + public T dequeue(){ + if(first == null){ + return null; + } + else{ + Node current = first; + first = first.next; + return current.wert; + } + + } + public T front(){ + + return first.wert; + } + } + + + diff --git a/Stack.java b/Stack.java new file mode 100644 index 0000000..c4411a5 --- /dev/null +++ b/Stack.java @@ -0,0 +1,68 @@ + +/** + * Beschreiben Sie hier die Klasse Stack. + * + * @author (Ihr Name) + * @version (eine Versionsnummer oder ein Datum) + */ +public class Stack +{ + public Node first; + + public Stack(){ + } + public boolean isEmpty(){ + if(first == null){ + return true; + } + return false; + } + public void push (T neu) { + Node n = new Node(neu);//Neue Node mit Zahl "neu " anlegen + + //Überprüfe ob die liste leer ist + if(first == null){ + //setze neue node als erster Eintrag + first = n; + } + else { + Node current = first; + + while(current.next != null){ + current = current.next; + } + current.setNext(n); + } + + //current ist jetzt der letzte Eintrag + //setze neue Node als Nachfolger von bisher letztem Eintrag + } + + public int laenge(){ + Node current = first; + int laenge = 0; + while(current != null){ + current = current.next; + laenge++; + } + return laenge; + + } + + + public T pop(){ + if(first == null){ + return null; + } + else{ + Node current = first; + first = first.next; + return current.wert; + } + + } + public T top(){ + + return first.wert; + } + } diff --git a/test.java b/test.java index f0a4a62..9be821c 100644 --- a/test.java +++ b/test.java @@ -11,24 +11,36 @@ public class test Node test = new Node("Hallo"); Node test2 = new Node(5); - List liste = new List(); - liste.einfuegen(5); + Queue liste = new Queue(); + /*liste.einfuegen(5); liste.einfuegen(6); liste.einfuegen(8); liste.einfuegen(3); liste.einfuegen(7); liste.einfuegen(9); liste.loesche(2); - liste.hinzufügen(4,"wirklich"); + liste.hinzufügen(4,"wirklich");*/ + liste.enqueue(7); + liste.enqueue(4); + liste.enqueue(8); + liste.enqueue(2); + liste.enqueue(0); + liste.enqueue(4); + int Selection = liste.dequeue(); +System.out.println("Die Zahl " +Selection+" wurde entfernt."); + int Selection2 = liste.dequeue(); +System.out.println("Die Zahl " +Selection2+" wurde entfernt."); +int Angabe = liste.front(); +System.out.println("Aktuell ist die erste Zahl " +Angabe+"."); Node current = liste.first; while(current != null){ - System.out.println( current.zahl ); + System.out.println( current.wert ); current = current.next; } System.out.println("Die Liste hat "+liste.laenge()+" Einträge. "); - + }