1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| public class ArrayStack { private String[] items; private int count; private int n;
public ArrayStack(int n) { this.items = new String[n]; this.n = n; this.count = 0; }
public boolean push(String item) { if (count == n) return false; items[count] = item; ++count; return true; } public String pop() { if (count == 0) return null; String tmp = items[count-1]; --count; return tmp; } }
public class StackBasedLinkedList { private Node top = null;
public void push(int value) { Node newNode = new Node(value, null); if (top == null) { top = newNode; } else { newNode.next = top; top = newNode; } }
public int pop() { if (top == null) return -1; int value = top.data; top = top.next; return value; }
public void printAll() { Node p = top; while (p != null) { System.out.print(p.data + " "); p = p.next; } System.out.println(); }
private static class Node { private int data; private Node next;
public Node(int data, Node next) { this.data = data; this.next = next; }
public int getData() { return data; } } }
|