Add 1 5 (Queue)
This commit is contained in:
parent
921bd9f0f1
commit
ff28fcb099
1
.idea/misc.xml
generated
1
.idea/misc.xml
generated
@ -1,4 +1,3 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
|
12
README.md
12
README.md
@ -5,4 +5,14 @@
|
||||
## Vorhandene Aufgaben:
|
||||
- Vorlesung 1
|
||||
- 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
|
43
src/part1/aufg5/Anwendung.java
Normal file
43
src/part1/aufg5/Anwendung.java
Normal 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();
|
||||
}
|
||||
}
|
50
src/part1/aufg5/queue.java
Normal file
50
src/part1/aufg5/queue.java
Normal 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]);
|
||||
}
|
||||
}
|
||||
}
|
@ -32,14 +32,34 @@ public class LinkedList<T>{
|
||||
}
|
||||
|
||||
}
|
||||
public void printALL(){
|
||||
System.out.println(anchor);
|
||||
public void printALL(){ // correct???
|
||||
Cell<T> next = anchor.next;
|
||||
|
||||
Cell next = anchor.next;
|
||||
System.out.println(anchor.data);
|
||||
|
||||
while (next != null){
|
||||
System.out.println(next);
|
||||
System.out.println(next.data);
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user