# priority queue based on an unsorted sequence

Any idea or example of a Java implementation of a priority queue based on an unsorted sequence?
###### Who is Participating?

Commented:
This shows the queue, starting unordered, then how it orders itself:

/**
* 27-May-2006
*/

package misc;

/**
* @author Charles
*/

import java.util.PriorityQueue;

public class PriorityQueueExample {

public static void main(String args[]) {
PriorityQueue<Integer> PQ = new PriorityQueue<Integer>();
for (int i = 0; i < 10; i++) {
}
System.out.println(PQ);
for (int i = 0; i < 10; i++) {
System.out.println("current head is: " + PQ.poll());
}
}
}
0

Commented:
0

Commented:
0

Commented:
A priority queue is an abstract data type with the following simple set of operations:

findMinimum or findMaximum - find the largest / smallest element
deleteMinimum or deleteMaximum - remove the largest / smallest element

You can easily implement this on top of a sequence.  As a simple example, you could just have a sequence underneath (completely unsorted, I presume that is what you mean by an unordered sequence).

Adding an element would add to the end / beginning of a list, this would be either O(1) or O(n)

Finding an element (and deleting an element) would be O(n) as you'd have to scan every element to find the right one.  This is the downside of not maintaining a sorted list.

Given how inefficient this is, people tend to use a more sophisticated data structure, such as a heap or maintain a sorted list.

0

Author Commented:
i am still looking forward for an appropriate solution (a working java program) for this problem.

thanks.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.