স্ট্যাক (Stack) একটি অ্যাবস্ট্রাক্ট ডেটা টাইপ (ADT) যা অধিকাংশ প্রোগ্রামিং ল্যাঙ্গুয়েজে ব্যবহৃত হয়। এটি বাস্তব জগতের স্ট্যাকের মতো কাজ করে—যেমন তাশের পत्ता বা থালির কুঁড়া।
LIFO নীতি (Last-In-First-Out)
স্ট্যাকে অপারেশন শুধু একটি প্রান্তে হয়। শেষে যোগ করা এলিমেন্ট প্রথমে অ্যাক্সেস করা হয়। যোগ করা = PUSH, বাদ দেওয়া = POP।


সম্পূর্ণ Stack ক্লাস বাস্তবায়ন
class Stack {
constructor(maxSize) {
if (isNaN(maxSize)) maxSize = 10;
this.maxSize = maxSize;
this.container = [];
}
display() { console.log(this.container); }
isEmpty() { return this.container.length === 0; }
isFull() { return this.container.length >= this.maxSize; }
push(element) {
if (this.isFull()) {
console.log("Stack Overflow!");
return;
}
this.container.push(element);
}
pop() {
if (this.isEmpty()) {
console.log("Stack Underflow!");
return;
}
return this.container.pop();
}
peek() {
if (this.isEmpty()) {
console.log("Stack Underflow!");
return;
}
return this.container[this.container.length - 1];
}
clear() { this.container = []; }
}
ব্যবহার: এক্সপ্রেশন ইভ্যালুয়েশন, ব্রাউজার হিস্টরি, আনডু ফাংশনালিটি, রিকার্সিভ ফাংশন কল স্ট্যাক ইত্যাদিতে স্ট্যাক ব্যবহার হয়।