1. 程式人生 > >Day3 Coding one 用容器模擬實現堆疊和佇列結構

Day3 Coding one 用容器模擬實現堆疊和佇列結構

需求:利用容器實現堆疊和佇列結構 解決方案: 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()); 
		}
	}

}