优先队列
PriorityQueue<int[]> queue = new PriorityQueue(new Comparator<int[]>(){
public int compare(int[] p1, int[] p2){
return p1[0]!=p2[0] ? p2[0]-p1[0] : p2[1]-p1[1]; //降序写法o2-o1, 小于时不改变顺序
}
});
comparator
当方法的返回值大于0的时候就将数组的前一个数和后一个数做交换。以升序为例来讲解,升序的话compare方法就 return o1 - o2(o1<o2时不改变顺序),降序是 return o2-o1(o2<01时不改变顺序)
优先队列可以用来建立大顶堆或者小顶堆
TreeMap
底层由红黑树组成,左边子节点小于右边子节点,按key排序
本文深入探讨了优先队列(PriorityQueue)的使用,特别是如何自定义比较器实现数组的降序排序。同时,介绍了TreeMap的数据结构,它基于红黑树,保证了元素的有序性。讲解了TreeMap中key的排序规则及其在信息技术中的应用。

483

被折叠的 条评论
为什么被折叠?



