0
有了一個名單,我通常將能夠找到做這樣一個元素:查找和優先級隊列替換特定對象
int index = open.indexOf(object);
if(index != -1){
open.set(index, neighbour);
}
是否有替代/解決方法的優先級隊列?
我:
PriorityQueue<State> open = createQ();
有了一個名單,我通常將能夠找到做這樣一個元素:查找和優先級隊列替換特定對象
int index = open.indexOf(object);
if(index != -1){
open.set(index, neighbour);
}
是否有替代/解決方法的優先級隊列?
我:
PriorityQueue<State> open = createQ();
你可以這樣做:
PriorityQueue<String> pq = new PriorityQueue<>();
pq.add("test1");
// removes object and return true if it was removed
if (pq.remove("test1")) {
// adds element in natural ordering
pq.add("test2");
}
如果您使用的是優先級隊列有沒有一種方法,讓你用另一個替換的對象。您將擁有poll()所有對象,將它們添加到列表中,然後刪除所需的對象,然後將它們添加()或提供()回到您的優先級隊列中。確保事先調用contains()以確保要刪除的對象存在於隊列中 –