A priority queue is a data structure that stores elements in a queue-like fashion, but each element has a "priority" associated with it. In a priority queue, an element with high priority is served before an element with low priority. If two elements have the same priority, they are served according to their order in the queue.