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
56 lines
1.0 KiB
Java
56 lines
1.0 KiB
Java
|
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;
|
||
|
}
|
||
|
|
||
|
}
|