1 public class StackNode
2 {
3 public Object data;
4
5 public StackNode previous;
6
7 public StackNode next;
8
9 public StackNode(Object data)
10 {
11 this.data = data;
12 }
13 }
14
15 public class LinkedStack
16 {
17 public StackNode top;
18
19 public LinkedStack()
20 {
21 top = new StackNode(null);
22 }
23
24 public boolean add(Object data)
25 {
26 StackNode node = new StackNode(data);
27
28 top.next = node;
29
30 node.previous = top;
31
32 top = node;
33
34 return true;
35 }
36
37 public Object get()
38 {
39 if(isEmpty() == true)
40 {
41 return null;
42 }
43
44 StackNode result = top;
45
46 top = result.previous;
47
48 return result.data;
49 }
50
51 public boolean isEmpty()
52 {
53 if(top.data == null)
54 {
55 return true;
56 }
57 else
58 {
59 return false;
60 }
61 }
62
63 }