队列(链表实现)

  • 基于链表数据结构实现Queue,将队列表示为一条从最早插入的元素到最近插入的元素的链表,实例变量first指向队列的开头,实例变量last指向队列的结尾。
public class Queue<Item> {
    
    private Node<Item> first;
    private Node<Item> last;
    private int N;
    
    public boolean isEmpty(){
        return first == null;
    }
    
    public int  size() {
        return N;
    }
    
    public void enqueue(Item item) {
        Node<Item> oldlast = last;
        last = new Node<>();
        last.item = item;
        last.next = null;
        if (isEmpty()) {
            first = last;
        }else{
            oldlast.next  = last;
        }
        N++;
    }
    
    public Item dequeue() {
        if (isEmpty()) {
            last = null;
            return null;
        }
        Item item = first.item;
        first = first.next;
        N--;
        return item;
    }
    

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Queue<String> queue = new Queue<>();
        queue.enqueue("to");
        queue.enqueue("be");
        queue.enqueue("or");
        System.out.println(queue.dequeue());
        System.out.println(queue.dequeue());
        System.out.println(queue.dequeue());
        System.out.println(queue.dequeue());
    }

}

//-------
to
be
or
null
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容