Day3 Coding one 用容器模擬實現堆疊和佇列結構
阿新 • • 發佈:2018-12-21
需求:利用容器實現堆疊和佇列結構 解決方案: 1.collection介面中存在著子介面List介面,List介面中有LinkedList的實現類,LinkedList中有特有的定義方法,利用頭尾展開定義。可以建立一個堆疊或者佇列的資料結構物件,該物件是使用LinkedList來完成的。
import java.util.LinkedList; public class MyQueue {//用LinkedList模擬一個堆疊和佇列 private LinkedList link; public MyQueue(){ link = new LinkedList(); } public void myAdd(Object obj) { link.addFirst(obj); } public Object myGet() { return link.removeLast(); } public boolean isEmpty() { return link.isEmpty(); } public static void main(String[] args) { MyQueue myqueue = new MyQueue(); myqueue.myAdd("add1"); myqueue.myAdd("add2"); myqueue.myAdd("add3"); myqueue.myAdd("add4"); while(!myqueue.isEmpty()) { System.out.println(myqueue.myGet()); } } }
若將第6行改為 LinkedList link = new LinkedList( );
或者改為如下程式碼
import java.util.LinkedList; public class MyQueue {//用LinkedList模擬一個堆疊和佇列 LinkedList link = new LinkedList(); /*private LinkedList link; public MyQueue(){ LinkedList link = new LinkedList(); }*/ public void myAdd(Object obj) { link.addFirst(obj); } public Object myGet() { return link.removeLast(); } public boolean isEmpty() { return link.isEmpty(); } public static void main(String[] args) { MyQueue myqueue = new MyQueue(); myqueue.myAdd("add1"); myqueue.myAdd("add2"); myqueue.myAdd("add3"); myqueue.myAdd("add4"); while(!myqueue.isEmpty()) { System.out.println(myqueue.myGet()); } } }