Fixato bug e implementato alcune funzioni.
This commit is contained in:
@@ -3,7 +3,7 @@ package priorityqueue;
|
||||
import priorityqueue.Entry;
|
||||
import priorityqueue.PriorityQueue;
|
||||
|
||||
import java.security.InvalidKeyException;
|
||||
import exceptions.InvalidKeyException;
|
||||
|
||||
/**
|
||||
* Created with MONSTER.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package priorityqueue;
|
||||
|
||||
import exceptions.EmptyPriorityQueueException;
|
||||
import java.security.InvalidKeyException;
|
||||
import exceptions.InvalidKeyException;
|
||||
|
||||
/**
|
||||
* Created with xgiovio.macbookair.
|
||||
|
||||
@@ -6,7 +6,7 @@ import exceptions.InvalidEntryException;
|
||||
import position.Position;
|
||||
import position.utility.DNode;
|
||||
|
||||
import java.security.InvalidKeyException;
|
||||
import exceptions.InvalidKeyException;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import position.NodePositionList;
|
||||
import position.Position;
|
||||
import utility.DefaultComparator;
|
||||
|
||||
import java.security.InvalidKeyException;
|
||||
import exceptions.InvalidKeyException;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import position.NodePositionList;
|
||||
import position.Position;
|
||||
import utility.DefaultComparator;
|
||||
|
||||
import java.security.InvalidKeyException;
|
||||
import exceptions.InvalidKeyException;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import priorityqueue.AdaptablePriorityQueue;
|
||||
import priorityqueue.Entry;
|
||||
import priorityqueue.MyEntry;
|
||||
|
||||
import java.security.InvalidKeyException;
|
||||
import exceptions.InvalidKeyException;
|
||||
import java.util.Comparator;
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,11 +4,12 @@ import position.Position;
|
||||
import priorityqueue.Entry;
|
||||
import priorityqueue.MyEntry;
|
||||
import priorityqueue.PriorityQueue;
|
||||
import stack.NodeStack;
|
||||
import tree.binarytree.heap.ArrayListCompleteBinaryTree;
|
||||
import tree.binarytree.heap.CompleteBinaryTree;
|
||||
import utility.DefaultComparator;
|
||||
|
||||
import java.security.InvalidKeyException;
|
||||
import exceptions.InvalidKeyException;
|
||||
import java.util.Comparator;
|
||||
|
||||
|
||||
@@ -28,7 +29,7 @@ public class HeapPriorityQueue<K,V> implements PriorityQueue<K,V> {
|
||||
comp = c;
|
||||
}
|
||||
|
||||
//elementi gia' ordinati
|
||||
|
||||
public HeapPriorityQueue (K k[], V v[], Comparator<K> C){
|
||||
heap = new ArrayListCompleteBinaryTree<Entry<K,V>>();
|
||||
comp = C;
|
||||
@@ -37,11 +38,22 @@ public class HeapPriorityQueue<K,V> implements PriorityQueue<K,V> {
|
||||
|
||||
} else {
|
||||
|
||||
NodeStack<ArrayListCompleteBinaryTree.BTPos<Entry<K, V>>> s = new NodeStack<ArrayListCompleteBinaryTree.BTPos<Entry<K, V>>>();
|
||||
for (int i = 0; i < k.length; i++) {
|
||||
heap.add(new MyEntry<K, V>(k[i],v[i])); // gia' ordinati. evitiamo l'upheap
|
||||
ArrayListCompleteBinaryTree.BTPos<Entry<K, V>> t = (ArrayListCompleteBinaryTree.BTPos<Entry<K, V>>) heap.add(new MyEntry<K, V>(k[i], v[i]));
|
||||
s.push(t);
|
||||
}
|
||||
|
||||
for (;!s.isEmpty();){
|
||||
ArrayListCompleteBinaryTree.BTPos<Entry<K, V>> t = s.pop();
|
||||
if (!heap.isExternal(t))
|
||||
downHeap(t);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void setComparator(Comparator<K> c) throws IllegalStateException {
|
||||
|
||||
Reference in New Issue
Block a user