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

পাইথন প্রোগ্রাম: লিংকড লিস্ট ব্যবহার করে স্ট্যাক ইমপ্লিমেন্ট করা

যখন লিংকড লিস্ট ব্যবহার করে স্ট্যাক ডেটা স্ট্রাকচার ইমপ্লিমেন্ট করতে হয়, তখন লিংকড লিস্টে এলিমেন্ট যোগ করার (পশ অপারেশন) মেথড এবং লিংকড লিস্টের এলিমেন্ট ডিলিট করার (পপ অপারেশন) মেথড সংজ্ঞায়িত করা হয়।

উদাহরণ

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

class Stack_structure:
    def __init__(self):
        self.head = None
    
    def push_val(self, data):
        if self.head is None:
            self.head = Node(data)
        else:
            newNode = Node(data)
            newNode.next = self.head
            self.head = newNode
    
    def pop_val(self):
        if self.head is None:
            return None
        else:
            del_Val = self.head.data
            self.head = self.head.next
            return del_Val

my_instance = Stack_structure()
while True:
    print('push <value>')
    print('pop')
    print('quit')
    my_input = input('আপনি কোন অ্যাকশন পারফর্ম করতে চান? ').split()
    operation = my_input[0].strip().lower()
    if operation == 'push':
        my_instance.push_val(int(my_input[1]))
    elif operation == 'pop':
        del_Val = my_instance.pop_val()
        if del_Val is None:
            print('স্ট্যাকটি খালি।')
        else:
            print('ডিলিট করা মান হল: ', int(del_Val))
    elif operation == 'quit':
        break

আউটপুট

push <value> pop quit
আপনি কোন অ্যাকশন পারফর্ম করতে চান? push 56
push <value> pop quit
আপনি কোন অ্যাকশন পারফর্ম করতে চান? push 78
push <value> pop quit
আপনি কোন অ্যাকশন পারফর্ম করতে চান? push 90
push <value> pop quit
আপনি কোন অ্যাকশন পারফর্ম করতে চান? pop
ডিলিট করা মান হল: 90
push <value> pop quit
আপনি কোন অ্যাকশন পারফর্ম করতে চান? quit

ব্যাখ্যা

  • Node ক্লাস তৈরি করা হয়েছে।

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

  • এতে একটি __init__ ফাংশন রয়েছে যা প্রথম এলিমেন্ট অর্থাৎ head-কে None-এ ইনিশিয়ালাইজ করে।

  • push_val নামক একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা স্টকে মান যোগ করতে সাহায্য করে।

  • pop_val নামক একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা স্ট্যাকের উপরের থেকে মান ডিলিট করে এবং ডিলিট করা মান রিটার্ন করে।

  • Stack_structure-এর একটি ইনস্ট্যান্স তৈরি করা হয়েছে।

  • তিনটি অপশন দেওয়া হয়েছে: 'push', 'pop', এবং 'quit'।

  • 'push' অপশনটি স্টকে একটি নির্দিষ্ট মান যোগ করে।

  • 'pop' অপশনটি স্ট্যাকের টপমোস্ট এলিমেন্ট ডিলিট করে।

  • 'quit' অপশনটি লুপ থেকে বের করে।

  • ব্যবহারকারীর ইনপুট/চয়স অনুযায়ী সংশ্লিষ্ট অপারেশনগুলো পারফর্ম করা হয়।

  • এই আউটপুট কনসোলে প্রদর্শিত হয়।

  1. পাইথন সার্কুলার লিংকড লিস্ট প্রোগ্রাম

  2. পাইথন প্রোগ্রাম: ডাবলি লিংকড লিস্টে একটি উপাদান সার্চ করা

  3. পাইথন প্রোগ্রাম: ডাবলি লিংকড লিস্টকে N নোড দ্বারা রোটেট করা

  4. পাইথনে সার্কুলার লিঙ্কড লিস্টে একটি এলিমেন্ট খুঁজে বের করার প্রোগ্রাম