public class LinkedStack { Node head = new Node(); boolean empty() { return head.next == null; } void push(int e) { Node n = new Node(e); n.next = head.next; head.next = n; } int[] pop() { int[] arr = new int[2]; if(empty()) { arr[0] = 0; return arr; } arr[0] = 1; arr[1] = head.next.data; head.next = head.next.next; return arr; } int[] top() { int[] arr = new int[2]; if(empty()) { arr[0] = 0; return arr; } arr[0] = 1; arr[1] = head.next.data; return arr; } void display() { Node p = head.next; while(p != null) { if(p.next != null) System.out.print(p.data + "->"); else System.out.println(p.data); p = p.next; } } public static void main(String[] args) { LinkedStack ss = new LinkedStack(); System.out.println(ss.empty()); ss.push(2); ss.push(3); ss.display(); ss.pop(); ss.display(); ss.push(1); ss.push(2); ss.display(); ss.pop(); ss.push(4); ss.display(); ss.top(); ss.display(); } } class Node { int data; Node next; Node() {} Node(int e) { data = e; } }
结果:
true 3->2 2 2->1->2 4->1->2 4->1->2