একটি বৃত্তাকার লিঙ্কযুক্ত তালিকার শুরুতে একটি নতুন নোড সন্নিবেশ করার প্রয়োজন হলে, একটি 'নোড' ক্লাস তৈরি করতে হবে। এই ক্লাসে, দুটি বৈশিষ্ট্য রয়েছে, নোডে থাকা ডেটা এবং লিঙ্ক করা তালিকার পরবর্তী নোডে অ্যাক্সেস।
একটি বৃত্তাকার লিঙ্কযুক্ত তালিকায়, মাথা এবং পিছনের অংশ একে অপরের সংলগ্ন। তারা একটি বৃত্ত গঠনের জন্য সংযুক্ত, এবং শেষ নোডে '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' পদ্ধতি ব্যবহার করে কনসোলে প্রদর্শিত হয়।