Queue (System.Collections) এবং Queue<T> (System.Collections.Generic) হলো ফার্স্ট-ইন-ফার্স্ট-আউট (FIFO) ডেটা স্ট্রাকচার। যেখানে প্রথমে ইনসার্ট করা আইটেমটি প্রথমে রিমুভ হয়।
মূল অপারেশনগুলো
- Enqueue(item): আইটেম যোগ করা (রিয়ারে)
- Dequeue(): আইটেম রিমুভ ও রিটার্ন করা (ফ্রন্ট থেকে)
- Peek(): ফ্রন্ট আইটেম দেখুন রিমুভ ছাড়া
- Count: আইটেম সংখ্যা
উদাহরণ: ক্যারেক্টার কিউ
using System;
using System.Collections.Generic;
namespace Demo {
class Program {
static void Main(string[] args) {
Queue q = new Queue();
q.Enqueue('t');
q.Enqueue('u');
q.Enqueue('v');
q.Enqueue('w');
q.Enqueue('x');
Console.WriteLine("বর্তমান কিউ:");
foreach (char c in q) Console.Write(c + " ");
Console.WriteLine();
Console.WriteLine("Dequeue: " + q.Dequeue()); // 't'
Console.WriteLine("Peek: " + q.Peek()); // 'u'
Console.WriteLine("Count: " + q.Count); // 4
Console.ReadKey();
}
}
}
আউটপুট
বর্তমান কিউ: t u v w x Dequeue: t Peek: u Count: 4
ব্যবহার ক্ষেত্র
- টাস্ক শিডিউলিং (প্রিন্টার কিউ, CPU শিডিউলার)
- ব্রেডথ-ফার্স্ট সার্চ (BFS) গ্রাফ অ্যালগরিদম
- প্রোডিউসার-কনজিউমার প্যাটার্ন
- মেসেজ কিউইং সিস্টেম
নোট: জেনেরিক Queue<T> ব্যবহার করুন (বক্সিং/আনবক্সিং এড়াতে)। নন-জেনেরিক Queue লিগেসি কোডের জন্য।