কম্পিউটার

সার্কুলার লিঙ্কড লিস্টের শেষে একটি নতুন নোড সন্নিবেশ করার জন্য পাইথন প্রোগ্রাম


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

একটি বৃত্তাকার লিঙ্কযুক্ত তালিকায়, মাথা এবং পিছনের অংশ একে অপরের সংলগ্ন। তারা একটি বৃত্ত গঠনের জন্য সংযুক্ত, এবং শেষ নোডে 'NULL' মান নেই৷

আরেকটি ক্লাস তৈরি করতে হবে যেটির একটি ইনিশিয়ালাইজেশন ফাংশন থাকবে, এবং নোডের হেডকে 'কোনও' তে আরম্ভ করা হবে।

লিঙ্ক করা তালিকার শেষে নোড যোগ করতে এবং নোডের মান প্রিন্ট করার জন্য ব্যবহারকারীর দ্বারা একাধিক পদ্ধতি সংজ্ঞায়িত করা হয়।

নীচে একই −

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

উদাহরণ

class Node:  
   def __init__(self,data):  
      self.data = data
      self.next = None  
   
class list_creation:  
   def __init__(self):  
      self.head = Node(None)  
      self.tail = Node(None)  
      self.head.next = self.tail  
      self.tail.next = self.head  
         
   def add_at_end(self,my_data):  
      new_node = Node(my_data)
      if self.head.data is None:  
       self.head = new_node  
       self.tail = new_node  
       new_node.next = self.head  
      else:  
         self.tail.next = new_node
         self.tail = new_node
         self.tail.next = self.head
         
   def print_it(self):  
      curr = self.head;  
      if self.head is None:  
         print("The list is empty");  
         return;  
      else:
         print(curr.data)
         while(curr.next != self.head):  
            curr = curr.next;  
            print(curr.data)
         print("\n");  
   
class circular_linked_list:  
   my_cl = list_creation()
   print("Nodes are being added to end of list")
   my_cl.add_at_end(21);  
   my_cl.print_it();  
   my_cl.add_at_end(53);  
   my_cl.print_it();  
   my_cl.add_at_end(76);
   my_cl.print_it();
   

আউটপুট

Nodes are being added to end of list
21
21
53
21
53
76

ব্যাখ্যা

  • 'নোড' ক্লাস তৈরি করা হয়েছে।
  • প্রয়োজনীয় বৈশিষ্ট্য সহ আরেকটি ক্লাস তৈরি করা হয়েছে।
  • 'add_at_end' নামের আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যেটি শেষে সার্কুলার লিঙ্ক করা তালিকায় ডেটা যোগ করতে ব্যবহৃত হয়, অর্থাৎ 'টেইল' নোডের পরে।
  • 'print_it' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা সার্কুলার লিঙ্কড তালিকার নোডগুলি প্রদর্শন করে।
  • 'লিস্ট_ক্রিয়েশন' ক্লাসের একটি অবজেক্ট তৈরি করা হয়, এবং ডেটা যোগ করার জন্য পদ্ধতিগুলিকে বলা হয়।
  • একটি 'init' পদ্ধতি সংজ্ঞায়িত করা হয়, যে সার্কুলার লিঙ্কের তালিকার প্রথম এবং শেষ নোডগুলি None-এর সাথে।
  • 'add_at_end' পদ্ধতিকে বলা হয়।
  • এটি লিঙ্ক করা তালিকার লেজ পায়, এর পরে একটি উপাদান যোগ করে এবং হেড পয়েন্টার এবং পূর্ববর্তী পয়েন্টারে এর ঠিকানা উল্লেখ করে।
  • এটি 'print_it' পদ্ধতি ব্যবহার করে কনসোলে প্রদর্শিত হয়।

  1. সি প্রোগ্রামে একটি লিঙ্কযুক্ত তালিকার শেষ থেকে n'th নোডের জন্য প্রোগ্রাম

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

  3. সার্কুলার লিঙ্কড লিস্টের উপাদানগুলিকে সাজানোর জন্য পাইথন প্রোগ্রাম

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