যখন একটি পাইথন প্রোগ্রাম তৈরি করার প্রয়োজন হয় যা একটি লিঙ্কযুক্ত তালিকা তৈরি করে, তখন একটি 'নোড' ক্লাস তৈরি করতে হবে। বৃত্তাকার তালিকায় ডেটা উপাদানগুলি প্রদর্শন করতে, অন্য একটি পদ্ধতি সংজ্ঞায়িত করা যেতে পারে, যা ডেটা প্রদর্শন করবে। এই ক্লাসে, দুটি বৈশিষ্ট্য রয়েছে, নোডে থাকা ডেটা এবং লিঙ্ক করা তালিকার পরবর্তী নোডে অ্যাক্সেস। একটি বৃত্তাকার লিঙ্কযুক্ত তালিকায়, মাথা এবং পিছনের অংশ একে অপরের সংলগ্ন। তারা একটি বৃত্ত গঠনের জন্য সংযুক্ত, এবং শেষ নোডে 'NULL' মান নেই৷
আরেকটি 'লিঙ্কড_লিস্ট' ক্লাস তৈরি করতে হবে যার একটি ইনিশিয়ালাইজেশন ফাংশন থাকবে, এবং নোডের হেডটি 'কোনও নয়' এ আরম্ভ করা হবে।
নীচে একই −
এর জন্য একটি প্রদর্শন রয়েছে৷উদাহরণ
class Node:
def __init__(self, my_data):
self.data = my_data
self.next = None
class circularLinkedList:
def __init__(self):
self.head = None
def add_data(self, my_data):
ptr_1 = Node(my_data)
temp = self.head
ptr_1.next = self.head
if self.head is not None:
while(temp.next != self.head):
temp = temp.next
temp.next = ptr_1
else:
ptr_1.next = ptr_1
self.head = ptr_1
def print_it(self):
temp = self.head
if self.head is not None:
while(True):
print("%d" %(temp.data)),
temp = temp.next
if (temp == self.head):
break
my_list = circularLinkedList()
print("Elements are added to the list ")
my_list.add_data (56)
my_list.add_data (78)
my_list.add_data (12)
print("The data is : ")
my_list.print_it() আউটপুট
Elements are added to the list The data is : 12 78 56
ব্যাখ্যা
- 'নোড' ক্লাস তৈরি করা হয়েছে।
- প্রয়োজনীয় গুণাবলী সহ আরেকটি 'সার্কুলার লিঙ্কডলিস্ট' ক্লাস তৈরি করা হয়েছে।
- এটির একটি 'init' ফাংশন রয়েছে যা প্রথম উপাদানটি শুরু করতে ব্যবহৃত হয়, যেমন 'হেড' থেকে 'কিছুই না'।
- 'add_data' নামে আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যা সার্কুলার লিঙ্ক করা তালিকায় ডেটা যোগ করতে ব্যবহৃত হয়।
- 'print_it' নামের আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা কনসোলে লিঙ্ক করা তালিকার ডেটা প্রদর্শন করতে ব্যবহৃত হয়।
- 'লিঙ্কড_লিস্ট' ক্লাসের একটি অবজেক্ট তৈরি করা হয়, এবং ডেটা যোগ করার জন্য পদ্ধতিগুলিকে বলা হয়।
- এটি 'print_it' পদ্ধতি ব্যবহার করে কনসোলে প্রদর্শিত হয়।