যখন একটি স্ট্যাক ব্যবহার করে একটি সারি বাস্তবায়নের প্রয়োজন হয়, তখন একটি সারি শ্রেণী সংজ্ঞায়িত করা যেতে পারে, যেখানে দুটি স্ট্যাকের উদাহরণ সংজ্ঞায়িত করা যেতে পারে। এই ক্লাসে পদ্ধতি হিসাবে সংজ্ঞায়িত সারিতে বিভিন্ন অপারেশন করা যেতে পারে।
নীচে একই -
এর একটি প্রদর্শন রয়েছে৷উদাহরণ
class Queue_structure: def __init__(self): self.in_val = Stack_structure() self.out_val = Stack_structure() def check_empty(self): return (self.in_val.check_empty() and self.out_val.check_empty()) def enqueue_operation(self, data): self.in_val.push_operation(data) def dequeue_operation(self): if self.out_val.check_empty(): while not self.in_val.check_empty(): deleted_val = self.in_val.pop_operation() self.out_val.push_operation(deleted_val) return self.out_val.pop_operation() class Stack_structure: def __init__(self): self.items = [] def check_empty(self): return self.items == [] def push_operation(self, data): self.items.append(data) def pop_operation(self): return self.items.pop() my_instance = Queue_structure() while True: print('enqueue <value>') print('dequeue') print('quit') my_input = input('What operation would you like to perform ?').split() operation = my_input[0].strip().lower() if operation == 'enqueue': my_instance.enqueue_operation(int(my_input[1])) elif operation == 'dequeue': if my_instance.check_empty(): print('The queue is empty') else: deleted_elem = my_instance.dequeue_operation() print('The deleted element is : ', int(deleted_elem)) elif operation == 'quit': break
আউটপুট
enqueue <value> dequeue quit What operation would you like to perform ?enqueue 45 enqueue <value> dequeue quit What operation would you like to perform ?enqueue 23 enqueue <value> dequeue quit What operation would you like to perform ?enqueue 78 enqueue <value> dequeue quit What operation would you like to perform ?dequeue The deleted element is : 45 enqueue <value> dequeue quit What operation would you like to perform ?quit
ব্যাখ্যা
-
একটি 'সারি_কাঠামো' সংজ্ঞায়িত করা হয়েছে, যা স্ট্যাকের দুটি উদাহরণকে সংজ্ঞায়িত করে।
-
এটিতে 'check_empty' নামে একটি পদ্ধতি রয়েছে যা সারিটি খালি কিনা তা পরীক্ষা করে।
-
'এনকিউ_অপারেশন' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা সারিতে উপাদান যোগ করতে সাহায্য করে।
-
'dequeue_operation' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা সারি থেকে একটি উপাদান মুছে দেয়।
-
আরেকটি 'স্ট্যাক_স্ট্রাকচার' ক্লাস তৈরি করা হয়েছে।
-
এটি একটি খালি তালিকা শুরু করে৷
৷ -
এটিতে ‘check_empty’ নামে একটি পদ্ধতি রয়েছে যা স্ট্যাকটি খালি কিনা তা পরীক্ষা করে।
-
'push_operation' নামের আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা সারিতে উপাদান যোগ করতে সাহায্য করে।
-
'pop_operation' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা সারি থেকে একটি উপাদান মুছে দেয়।
-
একটি 'সারি_কাঠামো' উদাহরণ তৈরি করা হয়েছে।
-
তিনটি অপশন দেওয়া হয়েছে- enqueue, dequeue, এবং quit.
-
ব্যবহারকারীর দেওয়া বিকল্পের উপর ভিত্তি করে, অপারেশনগুলি সঞ্চালিত হয় এবং প্রাসঙ্গিক আউটপুট কনসোলে প্রদর্শিত হয়৷