1. A queue is a collection of items that are inserted at one end and removed from the other, following a first-in first-out (FIFO) order. Common queue operations are enqueue to insert and dequeue to remove.
2. Queues can be implemented using arrays or linked lists. Array implementation uses a front and rear pointer to track the first and last elements. Linked list implementation uses front and rear pointers to point to the first and last nodes.
3. A priority queue is like a regular queue but allows extracting elements based on priority rather than strictly FIFO order. Higher priority elements are processed before lower priority ones.