Add 1 5 (Queue)

This commit is contained in:
Matti 2024-04-27 23:34:56 +02:00
parent 921bd9f0f1
commit ff28fcb099
5 changed files with 128 additions and 6 deletions

View File

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" /> <output url="file://$PROJECT_DIR$/out" />

View File

@ -5,4 +5,14 @@
## Vorhandene Aufgaben: ## Vorhandene Aufgaben:
- Vorlesung 1 - Vorlesung 1
- Aufgabe 4 (ADT zum Verwalten von Produkten) - Aufgabe 4 (ADT zum Verwalten von Produkten)
- Aufgabe 6 (Linked List erweitern) - Aufgabe 5 (Queue Implementieren)
- Aufgabe 6 (Linked List erweitern)
## Fehlende (Teil-)Aufgaben
- VL 1 Aufgabe 5
<br> Implementierung durch Verwendung einer List anstelle des Arrays
- Vl 1 Aufgabe 6
<br> "Remove" Methode hinzufügen
## Fragen zur Richtigkeit
- VL1 Aufg. 6 "printALL" Methode <br>ca. Zeile 35

View File

@ -0,0 +1,43 @@
package part1.aufg5;
/**
* Aufgabe 5
* Implementieren Sie eine generische Schlange in Java!
* Verwenden Sie dabei zunächst ein Feld mit der (Anfangs-)Dimension
* 100 als innere Datenstruktur!
* Speichern und Entnehmen Sie Objekte einer selbstdefinierten Klasse!
* Ändern Sie nun die innere Struktur in eine Liste um!
*/
public class Anwendung {
public static void main(String[] args){
queue schlenglein = new queue();
schlenglein.add("1");
schlenglein.add("2");
schlenglein.add("3");
schlenglein.add("4");
schlenglein.add("5");
schlenglein.print();
schlenglein.remove();
schlenglein.print();
schlenglein.add("6");
schlenglein.print();
schlenglein.remove();
schlenglein.remove();
schlenglein.remove();
schlenglein.remove();
schlenglein.remove();
schlenglein.print();
schlenglein.remove();
}
}

View File

@ -0,0 +1,50 @@
package part1.aufg5;
/*
Aufgabe 5
Implementieren Sie eine generische Schlange in Java!
Verwenden Sie dabei zunächst ein Feld mit der (Anfangs-)Dimension
100 als innere Datenstruktur!
Speichern und Entnehmen Sie Objekte einer selbstdefinierten Klasse!
Ändern Sie nun die innere Struktur in eine Liste um!
*/
public class queue {
private int ARRAY_SIZE = 100;
private String[] array = new String[ARRAY_SIZE];
private int firstFreeIndex = 0;
public void add(String s) {
if (firstFreeIndex == ARRAY_SIZE) {
System.out.println("Unable to add into List of max length!");
} else {
array[firstFreeIndex] = s;
firstFreeIndex++;
}
}
public void remove() {
if (firstFreeIndex == 0) {
System.out.println("Unable to remove Element from empty List!");
} else {
for (int i = 0; i < firstFreeIndex; i++) {
array[i] = array[i + 1];
}
firstFreeIndex--;
}
}
public void print() {
if (firstFreeIndex == 0) {
System.out.println("Unable to print empty List!!");
} else {
for (int i = 0; i < (firstFreeIndex - 1); i++) {
System.out.print(array[i] + " ; ");
}
System.out.println(array[firstFreeIndex - 1]);
}
}
}

View File

@ -32,14 +32,34 @@ public class LinkedList<T>{
} }
} }
public void printALL(){ public void printALL(){ // correct???
System.out.println(anchor); Cell<T> next = anchor.next;
Cell next = anchor.next; System.out.println(anchor.data);
while (next != null){ while (next != null){
System.out.println(next); System.out.println(next.data);
next = next.next; next = next.next;
} }
} }
public void deleteFirst(T value){
Cell<T> next = anchor.next;
// Check Head
if (anchor.data == value){
anchor = anchor.next;
return;
}
// Check Tail
while (next != null){ // starts with 2nd Element of the List
if(next.data == value){
next = next.next.next;
return;
}
next = next.next; // must happen at end of loop
}
}
} }