用java.util.*中的LinkedList實現stack

      java1.2以後沒有提供stack的類,而123在好多的應用中都會使用到,在java1.0/java1.1中的stack實現於Vector,而Vector中有setElementAt() getElementAt() removeElementAt()等方法,我們知道stack定義爲是只能在一端操作的線性表,而Vector實現方法和stack的定義有衝突。java1.2以後的包就沒有提供stack是實現的,大家要用到stack時可以用LinkedList裏的方法來實現,現在給出我的實現,大家可能一起學習參考


import java.util.*;

class MyStack
{
 LinkedList ll =new LinkedList();
 public void push(Object o)
 {
  ll.addFirst(o);
 }
 public Object pop()
 {
  return ll.removeFirst();
 }
 public Object peek()
 {
  return ll.getFirst();
 }
 public boolean empty()
 {
  return ll.isEmpty();
 }
 
 public static void main(String []args)
 {
  MyStack ms=new MyStack();
  ms.push("apple");
  ms.push("banana");
  ms.push("pear");
  
  System.out.println(ms.pop());
  System.out.println(ms.empty());
 }
}

在以後開發程序時用到stack可以加入MyStack類,也可以在擴充一下功能,如return stack中有多少個元素,等等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章