Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Description: Generic Stack Example
- * Author : Marco 'RootkitNeo'
- *
- */
- class Stack<T> {
- private int size; // Numero di elementi effettivamente contenuti
- private Object[] elements; // Elementi contenuti
- // Costruttori
- // ---------------------------------------------------------------------
- Stack(int initialCapacity) {
- this.elements = new Object[initialCapacity];
- }
- // Capacita' iniziale a 10 elmenti se non specificata
- Stack() {
- this(10);
- }
- // ---------------------------------------------------------------------
- // T viene sostituito dal tipo di dato passato
- // ---------------------------------------------------------------------
- void push(T element) {
- if(size == elements.length-1) increaseSize();
- elements[++size] = element;
- }
- // ---------------------------------------------------------------------
- @SuppressWarnings("unchecked")
- // Estraggo l'elemento in cima allo stack
- // ---------------------------------------------------------------------
- T pop() {
- return (T) elements[size--];
- }
- // ---------------------------------------------------------------------
- int getSize() {
- return size;
- }
- int getRealSize() {
- return elements.length;
- }
- private void increaseSize() {
- Object[] newElements = new Object[elements.length + 10];
- for(int i=0; i<elements.length; i++) {
- newElements[i] = elements[i];
- }
- elements = newElements;
- newElements = null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement