zoukankan      html  css  js  c++  java
  • Java Stack,Queue,PriorityQueue,deque相关操作

    Stack

    创建:Stack stack = new Stack<>();

    boolean empty():判断栈是否为空
    E peek():返回栈顶对象,不移除
    E pop():返回栈顶对象,并移除
    E push(E item):压入栈顶
    int search(Object o):返回对象在栈的位置;search返回的位置是从栈顶开始计数,栈顶为1,而不在栈中的元素返回-1
    

    Queue

    创建:Queue queue = new LinkedList<>();

    boolean add(E e):向队列中添加元素
    E element():返回队列的头,且不移除
    E remove():返回队列的头,且移除
    boolean offer(E e):向队列中添加元素
    E peek():返回队列的头,且不移除
    E poll():返回队列的头,且移除
    

    add、element、remove会在操作失败时抛出异常,而offer、peek、poll在操作失败时返回特殊值。

    PriorityQueue

    peek()//返回队首元素
    poll()//返回队首元素,队首元素出队列
    add()//添加元素
    size()//返回队列元素个数
    isEmpty()//判断队列是否为空,为空返回true,不空返回false
    

    默认是小顶堆,可添加Comparator改变成大顶堆

            Queue<Integer> q1 = new PriorityQueue<>();//小顶堆
            //大顶堆
            Queue<Integer> q = new PriorityQueue<>(new Comparator<Integer>() {
                @Override
                public int compare(Integer t1, Integer t2) {
                    if (t1 > t2)
                        return -1;
                    else
                        return 1;
                }
            });
    

    deque

    双端队列。创建:Deque deque = new LinkedList()

  • 相关阅读:
    Smith Numbers POJ
    HDU
    dp HDU
    POJ
    HDU
    LOOPS HDU
    水题,P1789 【Mc生存】插火把 (暴力即可)
    LOOPS
    Coprime (单色三角形+莫比乌斯反演(数论容斥))
    莫比乌斯函数 51nod-1240(合数分解试除法)
  • 原文地址:https://www.cnblogs.com/xym4869/p/12548857.html
Copyright © 2011-2022 走看看