Sort using PriorityQueue

  • Explain how a PriorityQueue can be used to sort a collection.

A PriorityQueue can be used for sorting a collection:

  • Insert every element from the collection into the PriorityQueue.
  • Remove elements from the PriorityQueue and place them in order, one after another, in the collection.

Exercise Complete the implementation of Heap.sort in the starter code.

private static void sort(Integer[] data) { // TODO Implement me }

Suggestion: Use Java's built-in PriorityQueue.

Solution
private static void sort(Integer[] data) { PriorityQueue<Integer> pq = new PriorityQueue<>(); for (int i = 0; i < data.length; i++) { pq.add(data[i]); } for (int i = 0; i < data.length; i++) { data[i] = pq.remove(); } }