যখন লিংকড লিস্ট ব্যবহার করে স্ট্যাক ডেটা স্ট্রাকচার ইমপ্লিমেন্ট করতে হয়, তখন লিংকড লিস্টে এলিমেন্ট যোগ করার (পশ অপারেশন) মেথড এবং লিংকড লিস্টের এলিমেন্ট ডিলিট করার (পপ অপারেশন) মেথড সংজ্ঞায়িত করা হয়।
উদাহরণ
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' অপশনটি লুপ থেকে বের করে।
ব্যবহারকারীর ইনপুট/চয়স অনুযায়ী সংশ্লিষ্ট অপারেশনগুলো পারফর্ম করা হয়।
এই আউটপুট কনসোলে প্রদর্শিত হয়।