/** * 链式栈的实现 * 相当于只能在头部插入和删除的单链表 */ public class LinkedStack { private static final String TAG = "LinkedStack"; /*长度和头指针*/ private int size = 0; private StackNode top = null;//top /*节点类*/ class StackNode { Object value; StackNode next = null; StackNode(Object obj) { this.value = obj; } } public void push(Object obj) { StackNode snode = new StackNode(obj); snode.next = top; top = snode; size++; } public Object pop() throws Exception { if (top == null) throw new Exception("空栈!"); Object obj = top.value; top = top.next; size--; return obj; } public int getSize() { return size; } public boolean isEmpty() { return top == null; } public void display() throws Exception { if (top == null) throw new Exception("空栈!"); StackNode cur = top; while (cur != null) { System.out.print(cur.value.toString() + "->"); cur = cur.next; } } public static void main(String[] args) throws Exception { LinkedStack lk = new LinkedStack(); //lk.pop(); //lk.display(); lk.push("你好"); lk.push("qeqwe"); lk.push("rrr"); lk.push("htht"); lk.push("5655"); lk.push("你"); lk.push("好"); lk.display(); System.out.println("\n" + lk.getSize()); lk.pop(); lk.pop(); lk.pop(); lk.display(); System.out.println("\n" + lk.getSize()); } }

相关文章:

  • 2021-09-23
  • 2021-09-20
  • 2021-07-08
  • 2021-09-28
  • 2022-12-23
  • 2022-12-23
  • 2021-11-26
  • 2021-11-26
猜你喜欢
  • 2021-11-27
  • 2022-12-23
  • 2022-12-23
  • 2021-08-17
  • 2021-07-20
  • 2021-08-31
相关资源
相似解决方案