diff --git a/src/main/java/com/thealgorithms/datastructures/queues/README.md b/src/main/java/com/thealgorithms/datastructures/queues/README.md index e110686ac..ca5e2972f 100644 --- a/src/main/java/com/thealgorithms/datastructures/queues/README.md +++ b/src/main/java/com/thealgorithms/datastructures/queues/README.md @@ -7,6 +7,29 @@ - It supports all methods of Collection interface including insertion, deletion etc. - LinkedList, ArrayBlockingQueue and PriorityQueue are the most commonly used implementations. + +## Types Of Queue:- + +- **FIFO Queue (First-In-First-Out):** This is the most common type of queue where the first item added is the first one to be removed. It follows a strict order of insertion and removal. + + +- **Priority Queue:** Elements in this queue are assigned priorities, and the item with the highest priority is dequeued first. It doesn't strictly follow the FIFO order. + + +- **Double-ended Queue (Deque):** A queue that allows elements to be added and removed from both ends. It can function as both a FIFO queue and a LIFO stack. + + +- **Circular Queue:** In this type, the last element is connected to the first element, forming a circular structure. It's often used for tasks like managing memory buffers. + + +- **Blocking Queue:** Designed for multithreaded applications, it provides thread-safety and blocking operations. Threads can wait until an element is available or space is free. + + +- **Priority Blocking Queue:** Similar to a priority queue but thread-safe, it allows multiple threads to access and modify the queue concurrently while maintaining priority. + + +- **Delay Queue:** Used for scheduling tasks to run after a specific delay or at a certain time. Elements are removed from the queue when their delay expires. + ## Declaration `Queue queue = new PriorityQueue ();` @@ -21,3 +44,5 @@ |Rear|Gets the last item from the queue| + +