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

C#-এ Queue-র শুরুয়ের অবজেক্ট পাওয়া (Peek অপারেশন)

C#-এ Queue<T> ক্লাসের Peek() মেথড ব্যবহার করে কিউয়ের সামনে (front) থাকা অবজেক্টটি রিমুভ না করে দেখা যায়। এটি FIFO (First-In-First-Out) কিউয়ার হেড এলিমেন্ট রিটার্ন করে। কিউ খালি থাকলে InvalidOperationException থ্রো করে।

উদাহরণ ১: Peek() ব্যবহার করে ফ্রন্ট এলিমেন্ট দেখা

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        Queue<string> queue = new Queue<string>();
        queue.Enqueue("A");
        queue.Enqueue("B");
        queue.Enqueue("C");
        queue.Enqueue("D");
        queue.Enqueue("E");
        queue.Enqueue("F");
        queue.Enqueue("G");

        Console.WriteLine("উপাদানের সংখ্যা = " + queue.Count);
        Console.WriteLine("কিউয়ার শুরুয়ের উপাদান = " + queue.Peek());
    }
}

আউটপুট

উপাদানের সংখ্যা = 7
কিউয়ার শুরুয়ের উপাদান = A

উদাহরণ ২: আরও এনকিউ করার পর Peek()

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        Queue<string> queue = new Queue<string>();
        queue.Enqueue("A");
        queue.Enqueue("B");
        queue.Enqueue("C");
        queue.Enqueue("D");
        queue.Enqueue("E");
        queue.Enqueue("F");
        queue.Enqueue("G");

        Console.WriteLine("উপাদানের সংখ্যা = " + queue.Count);
        Console.WriteLine("কিউয়ার শুরুয়ের উপাদান = " + queue.Peek());

        queue.Enqueue("H");
        queue.Enqueue("I");
        queue.Enqueue("J");

        Console.WriteLine("উপাদানের সংখ্যা = " + queue.Count);
        Console.WriteLine("কিউয়ার শুরুয়ের উপাদান = " + queue.Peek());
    }
}

আউটপুট

উপাদানের সংখ্যা = 7
কিউয়ার শুরুয়ের উপাদান = A
উপাদানের সংখ্যা = 10
কিউয়ার শুরুয়ের উপাদান = A

ব্যাখ্যা: Peek() কিউয়ার হেড এলিমেন্ট রিটার্ন করে কিন্তু রিমুভ করে না। এটি O(1) অপারেশন। কিউয়ার থেকে এলিমেন্ট রিমুভ করতে Dequeue() ব্যবহার করুন (যেটি হেড রিমুভ করে এবং রিটার্ন করে)। Queue<T> একটি সার্কুলার বাফার বেসড ইমপ্লিমেন্টেশন। থ্রেড-সেফ নয়; মাল্টিথ্রেডেড সিনেরিওতে ConcurrentQueue<T> ব্যবহার করুন। নন-জেনেরিক Queue লিগ্যাসি।

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

  2. জাভাস্ক্রিপ্টে অবজেক্টের মানগুলো কীভাবে পাবেন?

  3. Tkinter Canvas-এ অবজেক্টের কোঅর্ডিনেট পাওয়া

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