কম্পিউটার

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


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

একটি বৃত্তাকার লিঙ্কযুক্ত তালিকায়, মাথা এবং পিছনের অংশ একে অপরের সংলগ্ন। তারা একটি বৃত্ত গঠনের জন্য সংযুক্ত, এবং শেষ নোডে '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_beginning(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:  
         temp = self.head;  
         new_node.next = temp;  
         self.head = 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("Values are being added to the list")
   my_cl.add_at_beginning(21);  
   my_cl.print_it();  
   my_cl.add_at_beginning(53);  
   my_cl.print_it();  
   my_cl.add_at_beginning(76);
   my_cl.print_it(); 

আউটপুট

Values are being added to the list
21

53
21

76
53
21

ব্যাখ্যা

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

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

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

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

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