java 优先级队列示例2017-06-19

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 优先级队列示例2017-06-19相关的知识,希望对你有一定的参考价值。

package bearcola.queue.priorityqueue;

import java.util.PriorityQueue;

public class Top10 {
	static PriorityQueue<Integer> q = new PriorityQueue<Integer>();
	
	public static void main(String[] args) {
		
		for (int i=0; i<100; i++) {
			read(i);
		}
		
		int[] result = getTop10();
		
		for (int item: result) {
			System.out.println(item);
		}
	}
	
	public static void read(int n) {
		if (q.size() < 10) {
			q.offer(n);
		} else {
			int tenth = q.peek();
			if (n > tenth) {
				q.poll();
				q.offer(n);
			}
		}
	}
	
	public static int[] getTop10() {
		int[] ret = new int[q.size()];
		for (int i=q.size()-1; i>=0; i--) {
			ret[i] = q.poll();
		}
		return ret;
	}

}

以上是关于java 优先级队列示例2017-06-19的主要内容,如果未能解决你的问题,请参考以下文章

java 优先队列(2017-06-19)

Java优先队列(PriorityQueue)示例

Java 链表优先队列

java PriorityQueue优先级队列使用

Java优先级队列heapify [重复]

Prim算法优先队列