Files
APL1.1
APL1.2
APL2.1
DEV 2.2
DEV 2.3
DEV 3.1
DEV 3.2
TP01
TP02
TP03
TP04
Arithmetique
Chaine
Derecursivation
Tableau
Arithmetique.java
ArrayPile.java
Pile.java
TP05
TP06
TP07
TP08
DEV 3.4
DEV 4.3
DEV 4.4
DEV-4.5
Fun
HTML
Révisions
graphsup
.gitignore
README.md
APL/DEV 3.2/TP04/Tableau/ArrayPile.java

56 lines
1.0 KiB
Java
Raw Normal View History

2022-10-26 11:13:11 +02:00
public class ArrayPile<E> implements Pile<E>{
int size = 16;
int currentElement = 0;
E[] table;
public ArrayPile() {
table = (E[])new Object[size];
};
private void resizeStack() {
size *= 2;
E[] newTable = (E[])new Object[size];
for (int i = 0; i < table.length; i++) {
newTable[i] = table[i];
}
table = newTable;
}
@Override
public E getFirst() {
if (currentElement == 0) {
return null;
} else {
return table[currentElement-1];
}
}
@Override
public E pollFirst() {
if (currentElement == 0) {
return null;
} else {
E e = table[currentElement-1];
currentElement--;
return e;
}
}
@Override
public void addFirst(E e) {
if (currentElement >= table.length) resizeStack();
table[currentElement] = e;
currentElement++;
}
@Override
public int size() {
return currentElement;
}
}