Queue (कतार) एक FIFO (First-In-First-Out) संग्रह है। System.Collections (नॉन-जेनेरिक) और System.Collections.Generic (जेनेरिक Queue<T>) में उपलब्ध।
मुख्य मेथड्स
Enqueue(T item): अंत में आइटम जोड़ता है।Dequeue(): सामने से आइटम हटाकर लौटाता है। खाली होने परInvalidOperationExceptionफेंकता है।Peek(): सामने का आइटम बिना हटाए लौटाता है।Count: तत्वों की संख्या।Clear(): सभी आइटम हटाता है।
उदाहरण
using System;
using System.Collections.Generic;
class Demo
{
static void Main()
{
Queue q = new Queue();
// Enqueue - जोड़ना
q.Enqueue("Two");
q.Enqueue("One");
q.Enqueue("Three");
Console.WriteLine("कतार में तत्व: " + q.Count);
Console.WriteLine("सामने (Peek): " + q.Peek());
// Dequeue - निकालना (FIFO क्रम में)
while (q.Count > 0)
{
Console.WriteLine("Dequeue: " + q.Dequeue());
}
}
}
आउटपुट
कतार में तत्व: 3 सामने (Peek): Two Dequeue: Two Dequeue: One Dequeue: Three
उपयोग के मामले
- टास्क शेड्यूलिंग (प्रिंट कतार, संदेश प्रसंस्करण)।
- BFS (ब्रेडथ-फर्स्ट सर्च) ग्राफ ट्रैवर्सल।
- बफरिंग/पाइपलाइनिंग।
- थ्रेड-सेफ संस्करण:
ConcurrentQueue<T>।