他们为什么命名PriorityQueue
如果你不能插入优先级?它看起来与堆非常相似。有什么区别吗?如果没有区别那为什么叫它PriorityQueue
而不是堆?
默认的PriorityQueue是用Min-Heap实现的,即栈顶元素是堆中最小的元素。
为了实现最大堆,您可以创建自己的比较器:
import java.util.Comparator;
public class MyComparator implements Comparator<Integer>
{
public int compare( Integer x, Integer y )
{
return y - x;
}
}
因此,您可以通过以下方式创建最小堆和最大堆:
PriorityQueue minHeap=new PriorityQueue();
PriorityQueue maxHeap=new PriorityQueue(size, new MyComparator());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)