1)排序的对象和排序时比较的对象
常见的排序方法(插入、快排等),排序的对象和比较的对象是一样的,根据数本身的大小进行排序。...优先级队列可以对排序对象和比较对象相同的进行排序,也可以对 排序的对象和排序时比较的对象不同 的进行排序。
排序的对象和排序时比较的对象不同的一种情况是对 Map 排序。...在 Map 中,按照值 Value 对 Key 进行排序。这时,排序的对象是 Key ,比较的对象是 Value 。
2)堆
优先级队列的内部是用堆来维护的。所以,也可以把优先级队列当做堆来用。...queue = [3, 7]
queue = [3, 7, 5]
queue = [1, 3, 5, 7]
queue = [1, 3, 5, 7, 8]
由 queue = [3, 7, 5] 可以看出,在排序时...,queue 虽然也是按照整数的自然序来排的,但是不是按照递增的顺序(队列中的元素并不是一直是递增排列),是按堆存放的。