কম্পিউটার

পাইথন প্রোগ্রাম N নোড দ্বারা দ্বিগুণ লিঙ্কযুক্ত তালিকা ঘোরানোর জন্য


যখন একটি নির্দিষ্ট সংখ্যক নোড দ্বারা একটি দ্বিগুণ লিঙ্কযুক্ত তালিকা ঘোরানোর প্রয়োজন হয়, তখন একটি 'নোড' ক্লাস তৈরি করতে হবে। এই ক্লাসে, তিনটি বৈশিষ্ট্য রয়েছে, নোডে থাকা ডেটা, লিঙ্ক করা তালিকার পরবর্তী নোডে অ্যাক্সেস এবং লিঙ্ক করা তালিকার আগের নোডে অ্যাক্সেস।

নীচে একই −

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

উদাহরণ

class Node:
   def __init__(self, my_data):
      self.previous = None
      self.data = my_data
      self.next = None
class double_list:
   def __init__(self):
      self.head = None
      self.tail = None
      self.size = 0
   def add_data(self, my_data):
      new_node = Node(my_data)
      if(self.head == None):
         self.head = self.tail = new_node
         self.head.previous = None
         self.tail.next = None
      else:
         self.tail.next = new_node
         new_node.previous = self.tail
         self.tail = new_node
         self.tail.next = None
         self.size = self.size + 1;
   def print_it(self):
      curr = self.head
      if (self.head == None):
         print("The list is empty")
         return
      print("The nodes in the doubly linked list are :")
      while curr != None:
         print(curr.data)
         curr = curr.next
   def rotate_list(self, num):
      curr = self.head;
      if(num == 0 or num >= self.size):
         return;
      else:
         for i in range(1, num):
            curr = curr.next;
         self.tail.next = self.head;
         self.head = curr.next;
         self.head.previous = None;
         self.tail = curr;
         self.tail.next = None;
my_instance = double_list()
print("Elements are being added to the doubly linked list")
my_instance.add_data(10)
my_instance.add_data(24)
my_instance.add_data(54)
my_instance.add_data(77)
my_instance.add_data(24)
my_instance.add_data(0)
my_instance.print_it()
print("The elements in the list after rotating : ")
my_instance.rotate_list(4)
my_instance.print_it()

আউটপুট

Elements are being added to the doubly linked list
The nodes in the doubly linked list are :
10
24
54
77
24
0
The elements in the list after rotating :
The nodes in the doubly linked list are :
24
0
10
24
54
77

ব্যাখ্যা

  • 'নোড' ক্লাস তৈরি করা হয়েছে।
  • প্রয়োজনীয় বৈশিষ্ট্য সহ আরেকটি ক্লাস তৈরি করা হয়েছে।
  • 'add_data' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যেটি সার্কুলার লিঙ্ক করা তালিকায় ডেটা যোগ করতে ব্যবহৃত হয়।
  • 'rotate_list' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা নির্দিষ্ট নোডকে পিভট হিসেবে ব্যবহার করে এবং তালিকাটিকে ঘোরায়, যার ফলে উপাদানগুলিকে একটি ভিন্ন অবস্থানে নিয়ে যায়।
  • 'print_it' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা কনসোলে লিঙ্ক করা তালিকার ডেটা প্রদর্শন করতে ব্যবহৃত হয়।
  • 'ডাবল_লিস্ট' ক্লাসের একটি অবজেক্ট তৈরি করা হয়, এবং ডেটা যোগ করার জন্য পদ্ধতিগুলিকে বলা হয়।
  • 'rotate_list' পদ্ধতি বলা হয়।
  • এটি লিঙ্ক করা তালিকার নোডগুলির মাধ্যমে পুনরাবৃত্তি করে, মধ্যম সর্বাধিক সূচক পায় এবং উপাদানগুলি মুছে ফেলা শুরু করে৷
  • এটি 'print_it' পদ্ধতি ব্যবহার করে কনসোলে প্রদর্শিত হয়।

  1. পাইথন প্রোগ্রাম n নোডের দ্বিগুণ লিঙ্কযুক্ত তালিকা তৈরি করে এবং নোডের সংখ্যা গণনা করে

  2. পাইথন প্রোগ্রাম একটি টারনারি ট্রি থেকে দ্বিগুণ লিঙ্কযুক্ত তালিকা তৈরি করতে

  3. বৃত্তাকার লিঙ্কযুক্ত তালিকায় একটি উপাদান অনুসন্ধান করতে পাইথন প্রোগ্রাম

  4. পাইথনে লিঙ্ক করা তালিকার ভিতরের নোডগুলিকে বিপরীত করার জন্য প্রোগ্রাম