1. 程式人生 > >java版資料結構與演算法—連結串列實現佇列

java版資料結構與演算法—連結串列實現佇列

package com.zoujc.QueueLink;

/**
 * 連結串列實現佇列
 */
class FirstLastList {
    private Link first;
    private Link last;
    public FirstLastList(){
        first = null;
        last = null;
    }
    //判空
    public boolean isEmpty(){
        return first == null;
    }
    //插入
    public void insertLast
(int dd){ Link link = new Link(dd); if(isEmpty()){ first = link; }else { last.next = link; } last = link; } //刪除 public int deleteFirst(){ int temp = first.dData; if(first.next == null){ last = null;
} first = first.next; return temp; } //顯示 public void displayList(){ Link link = first; while (link != null){ link.display(); link = link.next; } System.out.println(""); } } class Link{ public int dData;
public Link next; public Link(int dd){ dData = dd; } public void display(){ System.out.print(dData + " "); } } class LinkQueue{ private FirstLastList theList; public LinkQueue(){ theList = new FirstLastList(); } //判空 public boolean isEmpty(){ return theList.isEmpty(); } //插入,從末尾插入 public void insert(int value){ theList.insertLast(value); } //刪除 public int remove(){ return theList.deleteFirst(); } //顯示 public void displayQueue(){ System.out.print("Queue:"); theList.displayList(); } public static void main(String[] args){ LinkQueue linkQueue = new LinkQueue(); linkQueue.insert(20); linkQueue.insert(66); linkQueue.insert(99); linkQueue.insert(55); linkQueue.displayQueue(); linkQueue.remove(); linkQueue.remove(); linkQueue.displayQueue(); } }

在這裡插入圖片描述