See More

***************************************************** http://www.theparticle.com/javadata2.html ***************************************************** public class pArrayStackInt{ protected int head[]; protected int pointer; public pArrayStackInt(int capacity){ head = new int[capacity]; pointer = -1; } public boolean isEmpty(){ return pointer == -1; } public void push(int i){ if(pointer+1 < head.length) head[++pointer] = i; } public int pop(){ if(isEmpty()) return 0; return head[pointer--]; } } ========================Object=========================== public class pArrayStackObject{ protected Object head[]; protected int pointer; public pArrayStackObject(int capacity){ head = new Object[capacity]; pointer = -1; } public boolean isEmpty(){ return pointer == -1; } public void push(Object i){ if(pointer+1 < head.length) head[++pointer] = i; } public Object pop(){ if(isEmpty()) return null; return head[pointer--]; } } ====================================== ================Queue================ public class pArrayQueue{ protected Object[] array; protected int start,end; protected boolean full; public pArrayQueue(int maxsize){ array = new Object[maxsize]; start = end = 0; full = false; } public boolean isEmpty(){ return ((start == end) && !full); } public void insert(Object o){ if(!full) array[start = (++start % array.length)] = o; if(start == end) full = true; } public Object remove(){ if(full) full = false; else if(isEmpty()) return null; return array[end = (++end % array.length)]; } } ==================================ArrayList============================ public class pArrayList{ protected Object[] array; protected int start,end,number; public pArrayList(int maxsize){ array = new Object[maxsize]; start = end = number = 0; } public boolean isEmpty(){ return number == 0; } public boolean isFull(){ return number >= array.length; } public int size(){ return number; } public void insert(Object o){ if(number < array.length){ array[start = (++start % array.length)] = o; number++; } } public void insertEnd(Object o){ if(number < array.length){ array[end] = o; end = (--end + array.length) % array.length; number++; } } public Object remove(){ if(isEmpty()) return null; number--; int i = start; start = (--start + array.length) % array.length; return array[i]; } public Object removeEnd(){ if(isEmpty()) return null; number--; return array[end = (++end % array.length)]; } public Object peek(int n){ if(n >= number) return null; return array[(end + 1 + n) % array.length]; } } =============================Vector============================== class pVectorTest{ public static void main(String[] args){ Vector v = new Vector(15); Integer j = null; int i; System.out.println("starting..."); for(i=0;i<10;i++){ j = new Integer((int)(Math.random() * 100)); v.addElement(j); System.out.println("addElement: " + j); } System.out.println("size: "+v.size()); System.out.println("capacity: "+v.capacity()); Enumeration enum = v.elements(); while(enum.hasMoreElements()) System.out.println("enum: "+(Integer)enum.nextElement()); System.out.println("Done ;-)"); } } =======================LinkedList========================= import pOneChildNode; public class pLinkedList{ protected pOneChildNode head; protected int number; public pLinkedList(){ head = null; number = 0; } public boolean isEmpty(){ return head == null; } public int size(){ return number; } public void insert(Object obj){ head = new pOneChildNode(obj,head); number++; } public Object remove(){ if(isEmpty()) return null; pOneChildNode tmp = head; head = tmp.getNext(); number--; return tmp.getData(); } public void insertEnd(Object obj){ if(isEmpty()) insert(obj); else{ pOneChildNode t = head; while(t.getNext() != null) t=t.getNext(); pOneChildNode tmp = new pOneChildNode(obj,t.getNext()); t.setNext(tmp); number++; } } public Object removeEnd(){ if(isEmpty()) return null; if(head.getNext() == null) return remove(); pOneChildNode t = head; while(t.getNext().getNext() != null) t = t.getNext(); Object obj = t.getNext().getData(); t.setNext(t.getNext().getNext()); number--; return obj; } public Object peek(int n){ pOneChildNode t = head; for(int i = 0;i