util之PriorityQueue

定义: PriorityQueue queue = new PriorityQueue();

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

//自定义
//从大到小
import java.util.PriorityQueue;
import java.util.Scanner;
class node implements Comparable{
int x;
    @Override
    public int compareTo(node o) {
        // TODO Auto-generated method stub
        return o.x-this.x;
    }
    
}
public class Main {
    static PriorityQueue queue = new PriorityQueue();
    static PriorityQueue q = new PriorityQueue();
    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)