util之PriorityQueue

Posted qdu-lkc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了util之PriorityQueue相关的知识,希望对你有一定的参考价值。

定义: PriorityQueue<Integer> queue = new PriorityQueue<Integer>();

java中的优先队列默认从小到大

//自定义
//从大到小
import java.util.PriorityQueue;
import java.util.Scanner;
class node implements Comparable<node>{
int x;
    @Override
    public int compareTo(node o) {
        // TODO Auto-generated method stub
        return o.x-this.x;
    }
    
}
public class Main {
    static PriorityQueue<Integer> queue = new PriorityQueue<Integer>();
    static PriorityQueue<node> q = new PriorityQueue<node>();
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        queue.offer(5);
        queue.offer(10);
        queue.offer(15);
        queue.offer(3);
        queue.offer(1);
        queue.offer(6);
        while(!queue.isEmpty()) {
            System.out.println(queue.poll());
        }
        for(int i=1;i<=5;i++) {
            node xNode = new node();
            xNode.x = cin.nextInt();
            q.offer(xNode);
        }
        while(!q.isEmpty()) {
            System.out.println(q.poll().x);
        }
    }
}

以上是关于util之PriorityQueue的主要内容,如果未能解决你的问题,请参考以下文章

util之PriorityQueue

在“initialCapacity=n”的“java.util.PriorityQueue”中插入“n”个元素的时间复杂度

java PriorityQueue优先级队列使用

Java util priorityQueue 实现

更新元素后重新堆化 java.util.PriorityQueue

并发编程之基础( 五)