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

পাইথনে স্ট্যাক (Stack) ইমপ্লিমেন্টেশন


যখন পাইথন ব্যবহার করে একটি স্ট্যাক ইমপ্লিমেন্ট করা প্রয়োজন হয়, তখন একটি স্ট্যাক ক্লাস তৈরি করা হয় এবং এই ক্লাসের একটি ইনস্ট্যান্স তৈরি করা হয়। উপাদান পুশ ও পপ করার জন্য মেথডগুলো নির্ধারণ করা হয় এবং ইনস্ট্যান্স ব্যবহার করে এই মেথডগুলো কল করা হয়।

নিচে এর একটি উদাহরণ দেওয়া হলো:

উদাহরণ

class Stack_struct:
    def __init__(self):
        self.items = []
    def check_empty(self):
        return self.items == []
    def add_elements(self, my_data):
        self.items.append(my_data)
    def delete_elements(self):
        return self.items.pop()

my_instance = Stack_struct()
while True:
    print('Push ')
    print('Pop')
    print('Quit')
    my_input = input('What operation would you like to perform ? ').split()
    my_op = my_input[0].strip().lower()
    if my_op == 'push':
        my_instance.add_elements(int(my_input[1]))
    elif my_op == 'pop':
        if my_instance.check_empty():
            print('The stack is empty')
        else:
            print('The deleted value is : ', my_instance.delete_elements())
    elif my_op == 'Quit':
        break

আউটপুট

Push 
Pop
Quit
What operation would you like to perform ? Push 6
Push 
Pop
Quit
What operation would you like to perform ? Psuh 8
Push 
Pop
Quit
What operation would you like to perform ? Psuh 34
Push 
Pop
Quit
What operation would you like to perform ? Pop
The deleted value is : 6
Push 
Pop
Quit

ব্যাখ্যা

  • প্রয়োজনীয় অ্যাট্রিবিউটসহ 'Stack_struct' ক্লাস তৈরি করা হয়েছে।

  • এতে একটি 'init' ফাংশন আছে যা খালি লিস্ট তৈরি করতে ব্যবহৃত হয়।

  • 'check_empty' নামে আরেকটি মেথড আছে যা লিস্ট খালি কিনা তা চেক করে।

  • 'add_elements' নামে আরেকটি মেথড নির্ধারণ করা হয়েছে যা খালি লিস্টে উপাদান যোগ করে।

  • 'delete_elements' নামে একটি মেথড নির্ধারণ করা হয়েছে, যা লিস্ট থেকে উপাদান ডিলিট করে।

  • 'Stack_struct' ক্লাসের একটি অবজেক্ট তৈরি করা হয়েছে।

  • যে অপারেশনটি করতে হবে তার জন্য ইউজার ইনপুট নেওয়া হয়েছে।

  • ইউজারের পছন্দ অনুযায়ী অপারেশনটি সম্পাদন করা হয়েছে।

  • প্রাসঙ্গিক আউটপুট কনসোলে প্রদর্শিত হয়েছে।


  1. পাইথনে পুশ-পপ সিকোয়েন্স বৈধ কিনা যাচাই করার প্রোগ্রাম

  2. পাইথনে BST-এ নির্দিষ্ট রেঞ্জে থাকা নোডের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে Implement strStr() (সাবস্ট্রিং সার্চ)

  4. পাইথনে রক-পেপার-সিসর গেম ইমপ্লিমেন্টেশন