কম্পিউটার টিউটোরিয়াল

C#-এ Queue ইন্টারফেস ও ক্লাস

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 লিগেসি কোডের জন্য।

  1. C#-এ ইন্টারফেস কী এবং এর ব্যবহার

  2. C#-এ Queue ক্লাসের Count প্রোপার্টি কী?

  3. C#-এ ইন্টারফেস (Interface) কী?

  4. পাইথনে কিউ (Queue) ইমপ্লিমেন্টেশন