কম্পিউটার

Recursion ব্যবহার করে একটি স্ট্যাকের বিপরীত করার জন্য পাইথন প্রোগ্রাম


যখন রিকারশন ব্যবহার করে একটি স্ট্যাক ডেটা স্ট্রাকচার রিভার্স করার প্রয়োজন হয়, তখন একটি 'স্ট্যাক_রিভার্স' পদ্ধতি, মান যোগ করার পদ্ধতি, মান মুছে ফেলা এবং স্ট্যাকের উপাদানগুলি মুদ্রণ করার পদ্ধতিগুলি সংজ্ঞায়িত করা হয়।

নীচে একই -

এর একটি প্রদর্শন রয়েছে৷

উদাহরণ

class Stack_structure:
   def __init__(self):
      self.items = []

   def check_empty(self):
      return self.items == []

   def push_val(self, data):
      self.items.append(data)

   def pop_val(self):
      return self.items.pop()

   def print_it(self):
      for data in reversed(self.items):
         print(data)

def insert_bottom(instance, data):
   if instance.check_empty():
      instance.push_val(data)
   else:
      deleted_elem = instance.pop_val()
      insert_bottom(instance, data)
      instance.push_val(deleted_elem)

def stack_reverse(instance):
   if not instance.check_empty():
      deleted_elem = instance.pop_val()
      stack_reverse(instance)
      insert_bottom(instance, deleted_elem)

my_instance = Stack_structure()
data_list = input('Enter the elements to add to the stack: ').split()
for data in data_list:
   my_instance.push_val(int(data))

print('The reversed stack is:')
my_instance.print_it()
stack_reverse(my_instance)
print('The stack is:')
my_instance.print_it()

আউটপুট

Enter the elements to add to the stack: 23 56 73 81 8 9 0
The reversed stack is:
0
9
8
81
73
56
23
The stack is:
23
56
73
81
8
9
0

ব্যাখ্যা

  • একটি 'স্ট্যাক_স্ট্রাকচার' ক্লাস তৈরি করা হয়েছে যা একটি খালি তালিকা শুরু করে।

  • একটি স্ট্যাক খালি আছে কিনা তা দেখার জন্য একটি 'check_empty' পদ্ধতি সংজ্ঞায়িত করা হয়।

  • 'push_val' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা স্ট্যাকে উপাদান যোগ করে।

  • 'pop_val' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা স্ট্যাক থেকে উপাদান মুছে দেয়।

  • 'print_it' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা স্ট্যাকের উপাদানগুলিকে প্রিন্ট করতে সাহায্য করে।

  • 'insert_bottom' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা ডিফল্টভাবে শীর্ষে যোগ করার পরিবর্তে স্ট্যাকের নীচে উপাদান যোগ করে।

  • 'stack_reverse' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা একটি প্রদত্ত স্ট্যাকের বিপরীতে সাহায্য করে।

  • এই 'স্ট্যাক_স্ট্রাকচার'-এর একটি উদাহরণ সংজ্ঞায়িত করা হয়েছে।

  • স্ট্যাকের উপাদানগুলি ব্যবহারকারীর কাছ থেকে নেওয়া হয়৷

  • এটি পুনরাবৃত্ত করা হয়, এবং স্ট্যাকের মান যোগ করার এবং কনসোলে এটি মুদ্রণ করার জন্য পদ্ধতিগুলিকে বলা হয়৷

  • এখন, এই তালিকায় 'stack_reverse' বলা হয়৷

  • কনসোলে বিপরীত স্ট্যাক প্রদর্শন করতে 'print_it' বলা হয়।


  1. রিকার্সন ব্যবহার করে একটি স্ট্রিং রিভার্স করার জন্য পাইথন প্রোগ্রাম

  2. একটি স্ট্রিং একটি প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম পুনরাবৃত্তি ব্যবহার করে

  3. রিকার্সন ব্যবহার করে একটি সংখ্যা প্রাইম নাকি প্রাইম নয় তা খুঁজে বের করতে পাইথন প্রোগ্রাম

  4. পাইথন প্রোগ্রামে একটি স্ট্রিং কিভাবে বিপরীত করবেন?