A priority queue assigns objects inserted into the queue a priority. Every dequeue, the object with the lowest (or highest) priority is removed. Search for google for general questions, surely you'll find some good information.