Add 3 1a) (Int Stack)

This commit is contained in:
Matti 2024-05-09 19:52:35 +02:00
parent a661f40a7c
commit f829b973eb
2 changed files with 53 additions and 4 deletions

View File

@ -4,8 +4,10 @@ package part3.aufg1;
* a) Realisieren einen IntegerStapel. Dabei soll die Klasse Stack aber nicht verwendet * a) Realisieren einen IntegerStapel. Dabei soll die Klasse Stack aber nicht verwendet
* werden, sondern eine dynamische Struktur wie in der Vorlesung Algorithmen und * werden, sondern eine dynamische Struktur wie in der Vorlesung Algorithmen und
* Datenstrukturen vorgestellt selbst realisiert werden. * Datenstrukturen vorgestellt selbst realisiert werden.
* Schreiben Sie eine Klasse IntegerStack, die den Stapel mit den Methoden public * Schreiben Sie eine Klasse IntegerStack, die den Stapel mit den Methoden
* void push(int i)und public int pop()zur Verfügung stellt. * public void push(int i) und
* public int pop()
* zur Verfügung stellt.
* Schreiben Sie dann eine Klasse Anwendung, in der die Funktionalität Ihres Integer * Schreiben Sie dann eine Klasse Anwendung, in der die Funktionalität Ihres Integer
* Stapels anhand der im Skript vorgestellten Reihenfolge von Operationen demonstriert * Stapels anhand der im Skript vorgestellten Reihenfolge von Operationen demonstriert
* wird. * wird.
@ -19,6 +21,18 @@ package part3.aufg1;
public class Anwendung { public class Anwendung {
public static void main(String[] args){ public static void main(String[] args){
IntStack myIntStack = new IntStack();
myIntStack.push(7);myIntStack.print();
myIntStack.push(3);myIntStack.print();
myIntStack.push(8);myIntStack.print();
myIntStack.push(2);myIntStack.print();
myIntStack.pop();myIntStack.print();
myIntStack.pop();myIntStack.print();
myIntStack.push(7);myIntStack.print();
myIntStack.pop();myIntStack.print();
myIntStack.pop();myIntStack.print();
} }
} }

View File

@ -1,4 +1,39 @@
package part3.aufg1; package part3.aufg1;
import java.util.Arrays;
public class IntStack { public class IntStack {
private int MAX_SIZE;
private int[] myArray;
private int firstFreeIndex;
public IntStack(){
this.MAX_SIZE = 100;
this.firstFreeIndex = 0;
this.myArray = new int[MAX_SIZE];
}
public void push(int value){
this.myArray[this.firstFreeIndex] = value;
this.firstFreeIndex++;
}
public int pop(){
return this.myArray[--this.firstFreeIndex];
}
public int[] toArray(){
if (firstFreeIndex<1){
return null;
}
int[] retArray = new int[firstFreeIndex];
for (int i=0; i<firstFreeIndex; i++){
retArray[i] = this.myArray[i];
}
return retArray;
}
public void print(){
System.out.println(Arrays.toString(this.toArray()));
}
} }