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

C#-এ Stack এবং Queue

Stack

Stack ক্লাস একটি লাস্ট-ইন, ফার্স্ট-আউট (LIFO) কালেকশন অবজেক্ট রিপ্রেজেন্ট করে। এটি তখন ব্যবহৃত হয় যখন আপনাকে লাস্ট-ইন, ফার্স্ট-আউট অ্যাক্সেস প্রয়োজন।

Stack ক্লাসের প্রোপার্টি:

  • Count — স্টকে থাকা এলিমেন্টের সংখ্যা পাওয়া যায়।

Stack ক্লাসের মেথডগুলো:

ক্রমিক নং মেথড ও বিবরণ
1 public virtual void Clear();
Stack থেকে সব এলিমেন্ট মুছে ফেলে।
2 public virtual bool Contains(object obj);
একটি এলিমেন্ট Stack-এ আছে কিনা তা নির্ধারণ করে।
3 public virtual object Peek();
Stack-এ উপরের অবজেক্ট রিটার্ন করে বিনা মুছে ফেলা।
4 public virtual object Pop();
Stack-এ উপরের অবজেক্ট রিমুভ করে এবং রিটার্ন করে।
5 public virtual void Push(object obj);
Stack-এ উপরে একটি অবজেক্ট ইনসার্ট করে।
6 public virtual object[] ToArray();
Stack কে একটি নতুন অ্যারেতে কপি করে।

Stack ক্লাস এবং এর Push() ও Pop() মেথড কীভাবে কাজ করে তা দেখানোর উদাহরণ:

উদাহরণ

using System;
using System.Collections;
namespace CollectionsApplication {
    class Program {
        static void Main(string[] args) {
            Stack st = new Stack();
            st.Push('A');
            st.Push('B');
            st.Push('C');
            st.Push('D');
            Console.WriteLine("Current stack: ");
            foreach (char c in st) {
                Console.Write(c + " ");
            }
            Console.WriteLine();
            st.Push('P');
            st.Push('Q');
            Console.WriteLine("The next poppable value in stack: {0}", st.Peek());
            Console.WriteLine("Current stack: ");
            foreach (char c in st) {
                Console.Write(c + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Removing values....");
            st.Pop();
            st.Pop();
            st.Pop();
            Console.WriteLine("Current stack: ");
            foreach (char c in st) {
                Console.Write(c + " ");
            }
        }
    }
}

আউটপুট

Current stack: D C B A
The next poppable value in stack: Q
Current stack: Q P D C B A
Removing values....
Current stack: C B A

Queue

Queue কালেকশন ক্লাস C#-এ একটি কনসেপ্ট যা System.Collections নেমস্পেসে অন্তর্ভুক্ত। এলিমেন্টগুলো QUEUE-এ FIFO (ফার্স্ট-ইন, ফার্স্ট-আউট) মেনে সংরক্ষিত হয়। প্রথম যোগ করা এলিমেন্টটি প্রথমে বের হবে như সিনেমা হলের টিকেট কাটার লাইনে মানুষ।

এর দুটি মেথড রয়েছে:

  • Enqueue() মেথড ভ্যালু যোগ করতে
  • Dequeue() মেথড ভ্যালু রিট্রিভ করতে

Enqueue

Queue-এ আইটেম যোগ করুন।

Queue q = new Queue();
q.Enqueue("Two");
q.Enqueue("One");

Dequeue

Queue থেকে আইটেম রিটার্ন করুন।

Queue q = new Queue();
q.Enqueue("Two");
q.Enqueue("One");
// এলিমেন্ট রিমুভ
while (q.Count > 0)
    Console.WriteLine(q.Dequeue());
  1. সমাধান: উইন্ডোজ ১০ ও ১১-এ প্রিন্ট কিউ ডিলিট হয় না

  2. পাইথন কিউ এবং ডিকিউ: ধাপে ধাপে গাইড

  3. স্ট্যাক এবং হিপের পার্থক্য

  4. পাইথনে queue মডিউল ব্যবহার করে স্ট্যাক ও কিউ ইমপ্লিমেন্টেশন