我想我在这里遗漏了一些东西,但只是想找一个澄清。 我把这个权限从教科书中复制出来,似乎并不理解上面的优先级队列方法如何返回基于数组的队列中的最低元素。如何让' - nItems'允许返回最小值?
public long remove{
return queueArray[--nItems]; // remove minimum item
}
答案 0 :(得分:0)
remove
只是优先级队列的一种方法。这里的假设是数组已经按降序排序,因此,最后一个元素是最低元素。因此,要删除最低元素,您只需返回数组的最后一个元素并减少数组中元素的数量。
应该有一个单独的方法来构建优先级队列。
即按降序对数组中的元素进行排序。