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

C#-তে Queue-র সব অবজেক্ট সরাতে Clear() মেথড ব্যবহার

Queue<T> ক্লাসের Clear() মেথড কিউ-র সব উপাদান একসাথে সরিয়ে দেয় এবং কাউন্ট শূন্য করে দেয়। এটি O(n) অপারেশন যেখানে n হলো উপাদান সংখ্যা।

উদাহরণ ১: স্ট্রিং Queue থেকে সব উপাদান সরানো

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        Queue<string> queue = new Queue<string>();
        queue.Enqueue("গেরি");
        queue.Enqueue("জ্যাক");
        queue.Enqueue("রায়ান");
        queue.Enqueue("কেভিন");
        queue.Enqueue("মার্ক");
        queue.Enqueue("জ্যাক");      // ডুপ্লিকেট
        queue.Enqueue("রায়ান");    // ডুপ্লিকেট
        queue.Enqueue("কেভিন");    // ডুপ্লিকেট

        Console.Write("উপাদান সংখ্যা = ");
        Console.WriteLine(queue.Count);  // ৮

        // সব উপাদান সরানো
        queue.Clear();

        Console.Write("আপডেট হওয়া উপাদান সংখ্যা = ");
        Console.WriteLine(queue.Count);  // ০
    }
}

আউটপুট

উপাদান সংখ্যা = 8
আপডেট হওয়া উপাদান সংখ্যা = 0

উদাহরণ ২: ছোট Queue এবং Clear()

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");

        Console.WriteLine("উপাদান সংখ্যা = " + queue.Count);  // ৫

        queue.Clear();

        Console.Write("আপডেট হওয়া উপাদান সংখ্যা = " + queue.Count);  // ০
    }
}

আউটপুট

উপাদান সংখ্যা = 5
আপডেট হওয়া উপাদান সংখ্যা = 0

Queue-র অন্যান্য গুরুত্বপূর্ণ মেথড

মেথডবিবরণ
Enqueue(T item)কিউ-র শেষে উপাদান যোগ করে (O(1))।
Dequeue()কিউ-র সামনে থেকে উপাদান সরিয়ে রিটার্ন করে (O(1))। খালি কিউ-তে কল করলে InvalidOperationException।
Peek()সামনের উপাদান রিটার্ন করে কিন্তু সরায় না। খালি কিউ-তে InvalidOperationException।
Contains(T item)উপাদানটি কিউ-তে আছে কিনা চেক করে (O(n))।
ToArray()কিউ-র কপি হিসেবে অ্যারে রিটার্ন করে।
TrimExcess()ক্ষমতা (capacity) কাউন্টের সমান করে কমিয়ে দেয়।

গুরুত্বপূর্ণ নোট

  • Clear() কল করার পর কিউ খালি হয়, কিন্তু ক্যাপাসিটি (capacity) অপরিবর্তিত থাকে।
  • ক্যাপাসিটিও রিসেট করতে চাইলে TrimExcess() কল করুন বা নতুন Queue তৈরি করুন।
  • Queue<T> জেনেরিক ক্লাস, টাইপ সেফটি নিশ্চিত করে।
  • নন-জেনেরিক Queue (System.Collections) লিগ্যাসি কোডের জন্য, নতুন কোডে বাদ দিন।

ব্যবহার ক্ষেত্র (Use Cases)

  • টাস্ক শিডিউলিং (FIFO - First In First Out)
  • ব্রেডথ-ফার্স্ট সার্চ (BFS) অ্যালগরিদম
  • প্রিন্টার কিউ, মেসেজ কিউ, রিকোয়েস্ট হ্যান্ডলিং
  • আনডো/রিডো ফাংশনালিটি (স্ট্যাকের সাথে মিলিয়ে)
  1. উইন্ডোজ ১০ ফাইল এক্সপ্লোরার থেকে ৩D Objects ফোল্ডার সরানোর উপায়

  2. C#-তে SortedList-র সব উপাদান সরাতে Clear() মেথড ব্যবহার

  3. C#-এ Queue-তে উপাদান রয়েছে কিনা তা যাচাই করুন

  4. জাভাতে ArrayList-এ থেকে সব এলিমেন্ট রিমূভ করা