数据结构与算法——队列 (Java泛型类)

泛型类实现Queue

package com.example;

//    ┌┬┐ ->┌┬┐->┌┬┐->┌┬┐
//    └┴┘   └┴┘  └┴┘  └┴┘
//     ↑              ↑
//    front          rear
/**
 * 线性链-队列
 */
public class LLQueue <T>{
    private LLNode<T> front;
    private LLNode<T> rear;


    public LLQueue(){
        this.front = null;
        this.rear  = null;
    }
    public boolean IsEmpty(){
        return (front == null);
    }

    //入队列
    public void enQueue(T data){
        LLNode newNode = new LLNode(data);
        if(rear != null){
            rear.next = newNode;
        }
        rear = newNode;
        if(front == null){
            front = rear;
        }
    }

    //取值
    public LLNode<T> deQueue(){
        LLNode<T> temp = null;
        if(IsEmpty()) {
            //Do something
        }
        else{

            temp = front;
            front = front.next;
        }
        return temp;
    }


}

class LLNode<T>{
    T data;
    LLNode<T> next;

    public LLNode(T data){
        this.data = data;
    }
}

 

posted @ 2017-11-15 18:47  倪明  阅读(183)  评论(0)    收藏  举报