美文网首页
队列 - Queue

队列 - Queue

作者: 反射弧长一光年 | 来源:发表于2019-01-05 04:35 被阅读0次

基本概念

队列和栈类似,不同的是,先进队列的元素,最先从队列出去。

实现

  • 通过链表实现队列
interface InterfaceQueue {
    void push(int val);
    int pop();
    int top();
}

class Node {
    public int val;
    public Node next, prev;
    public Node(int val) {
        this.val = val;
        this.next = null;
        this.prev = null;
    }
}

public class MyQueue implements InterfaceQueue{
    public Node first, last;
    public MyQueue() {
        first = null;
        last = null;
    }
    @Override
    public void push(int val) {
        if (last == null) {
            last = new Node(val);
            first = last;
        } else {
            Node node = new Node(val);
            last.next = node;
            node.prev = last;
            last = last.next;
        }
    }
    @Override
    public int pop() {
        if (first == null) {
            return -1;
        } else {
            int res = first.val;
            first = first.next;
            if (first == null) {
                last = null;
            } else {
                first.prev = null;
            }
            return res;
        }
    }
    @Override
    public int top() {
        if (first == null) {
            return -1;
        } else {
            return first.val;
        }
    }
}

Java中,队列是一个接口,一般通过LinkedList实现。

Queue<Integer> q = new LinkedList<>();
q.offer(); // 入队
q.poll(); // 出队,并返回该元素
q.peek(); // 返回队列头元素,但不弹出

Lintcode 相关练习

Binary Tree Level Order Traversal
Implement Queue by Two Stacks
Animal Shelter

相关文章

  • 循环队列的实现方法1

    设:队列长度是QUEUE_LENGTH队列数组是queue[QUEUE_LENGTH]队列头索引是head队列尾索...

  • Java—Queue队列详解

    Queue Queue队列介绍   Queue是用于模拟队列的,啥叫队列?队列就是排队的意思,比如排队结账,先进入...

  • Java—Queue队列详解(Deque/PriorityQue

    Queue Queue队列介绍   Queue是用于模拟队列的,啥叫队列?队列就是排队的意思,比如排队结账,先进入...

  • Queue模块

    一、class Queue.Queue 类 Queue类表示使用FIFO队列 Queue.qsize()返回队列的...

  • 多线程GCD

    1:GCD 创建队列: 串行队列: dispatch_queue_t queue=dispatch_queue_c...

  • 第三周_总结

    队列创建一个队列:queue_obj = queue.Queue(maxsize=30)maxsize :表示允许...

  • GCD 多线程的使用

    1.串行队列 1.1串行队列创建 dispatch_queue_t queue = dispatch_queue_...

  • GCD

    dispatch_queue_t:线程、队列dispatch_queue_create(派发队列)派发队列分为两种...

  • GCD队列queue.h__queue

    队列queue.h方法总览 创建队列(queue)相关方法: 举例说明:

  • GCD相关

    创建队列 dispatch_queue_create("我是串行队列",DISPATCH_QUEUE_SERIAL...

网友评论

      本文标题:队列 - Queue

      本文链接:https://www.haomeiwen.com/subject/dgilrqtx.html