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