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

JavaScript-এ Stack ডেটা স্ট্রাকচার: LIFO নীতি এবং সম্পূর্ণ বাস্তবায়ন


স্ট্যাক (Stack) একটি অ্যাবস্ট্রাক্ট ডেটা টাইপ (ADT) যা অধিকাংশ প্রোগ্রামিং ল্যাঙ্গুয়েজে ব্যবহৃত হয়। এটি বাস্তব জগতের স্ট্যাকের মতো কাজ করে—যেমন তাশের পत्ता বা থালির কুঁড়া।

LIFO নীতি (Last-In-First-Out)

স্ট্যাকে অপারেশন শুধু একটি প্রান্তে হয়। শেষে যোগ করা এলিমেন্ট প্রথমে অ্যাক্সেস করা হয়। যোগ করা = PUSH, বাদ দেওয়া = POP।

JavaScript-এ Stack ডেটা স্ট্রাকচার: LIFO নীতি এবং সম্পূর্ণ বাস্তবায়ন

JavaScript-এ Stack ডেটা স্ট্রাকচার: LIFO নীতি এবং সম্পূর্ণ বাস্তবায়ন

সম্পূর্ণ 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 = []; }
}

ব্যবহার: এক্সপ্রেশন ইভ্যালুয়েশন, ব্রাউজার হিস্টরি, আনডু ফাংশনালিটি, রিকার্সিভ ফাংশন কল স্ট্যাক ইত্যাদিতে স্ট্যাক ব্যবহার হয়।

  1. জাভাস্ক্রিপ্টে কিউ (Queue) ডেটা স্ট্রাকচার: কনসেপ্ট ও বেসিক

  2. জাভাস্ক্রিপ্টে হ্যাশ টেবিল ডেটা স্ট্রাকচার

  3. জাভাস্ক্রিপ্টে স্ট্যাক (Stack) বাস্তবায়ন

  4. হাফ-এজ ডেটা স্ট্রাকচার