Stack<T> একটি LIFO (Last-In-First-Out) ডেটা স্ট্রাকচার। Push() মেথড দিয়ে উপাদান যোগ করা হয়, Pop() দিয়ে শীর্ষের উপাদান সরিয়ে আনা যায়, এবং Peek() দিয়ে শীর্ষের উপাদান সরিয়ে না নিয়ে দেখা যায়। Contains() মেথড দিয়ে নির্দিষ্ট উপাদান আছে কিনা যাচাই করা যায়।
উদাহরণ ১: Stack তৈরি এবং বেসিক অপারেশন
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
Stack<int> stack = new Stack<int>();
stack.Push(100);
stack.Push(150);
stack.Push(175);
stack.Push(200);
stack.Push(225);
stack.Push(250);
stack.Push(300);
stack.Push(400);
stack.Push(450);
stack.Push(500);
Console.WriteLine("Stack-এ উপাদানসমূহ:");
foreach(var val in stack) {
Console.WriteLine(val);
}
Console.WriteLine("Stack-এ উপাদান সংখ্যা = " + stack.Count);
Console.WriteLine("Stack-এ ৪০০ উপাদান আছে কি? = " + stack.Contains(400));
}
}
আউটপুট
Stack-এ উপাদানসমূহ: 500 450 400 300 250 225 200 175 150 100 Stack-এ উপাদান সংখ্যা = 10 Stack-এ ৪০০ উপাদান আছে কি? = True
উদাহরণ ২: আরেকটি Stack উদাহরণ
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
Stack<int> stack = new Stack<int>();
stack.Push(10);
stack.Push(20);
stack.Push(30);
stack.Push(40);
stack.Push(50);
stack.Push(60);
stack.Push(70);
stack.Push(80);
stack.Push(90);
stack.Push(100);
Console.WriteLine("উপাদান সংখ্যা = " + stack.Count);
Console.WriteLine("Stack-এ উপাদানসমূহ...");
foreach (int res in stack) {
Console.WriteLine(res);
}
}
}
আউটপুট
উপাদান সংখ্যা = 10 Stack-এ উপাদানসমূহ... 100 90 80 70 60 50 40 30 20 10
দ্রষ্টব্য: Stack এনামারেশন শীর্ষ থেকে তলlagetেই চলে (LIFO ক্রমে)। নন-जেনেরিক Stack ক্লাসও রয়েছে, কিন্তু জেনেরিক Stack<T> টাইপ সেফটি প্রদান করে।