যখন রিকারশন পদ্ধতি ব্যবহার না করে একটি লিঙ্ক করা তালিকায় একটি উপাদান অনুসন্ধান করার প্রয়োজন হয়, লিঙ্ক করা তালিকায় মান যোগ করার একটি পদ্ধতি, সেইসাথে একটি লিঙ্ক করা তালিকার উপাদানগুলি প্রদর্শন করার একটি পদ্ধতি৷
এটিতে এমন একটি পদ্ধতিও থাকবে যা অনুসন্ধান করা উপাদানটির সূচী খুঁজে পেতে সহায়তা করে।
নীচে একই −
এর জন্য একটি প্রদর্শন রয়েছে৷উদাহরণ
class Node:
def __init__(self, data):
self.data = data
self.next = None
class my_linked_list:
def __init__(self):
self.head = None
self.last_node = None
def add_value(self, my_data):
if self.last_node is None:
self.head = Node(my_data)
self.last_node = self.head
else:
self.last_node.next = Node(my_data)
self.last_node = self.last_node.next
def print_it(self):
curr = self.head
while curr is not None:
print(curr.data)
curr = curr.next
def find_index_val(self, my_key):
curr = self.head
index_val = 0
while curr:
if curr.data == my_key:
return index_val
curr = curr.next
index_val = index_val + 1
return -1
my_instance = my_linked_list()
my_list = [67, 4, 78, 98, 32, 0, 11, 8]
for data in my_list:
my_instance.add_value(data)
print('The linked list is : ')
my_instance.print_it()
print()
my_key = int(input('What value would you search for? '))
index_val = my_instance.find_index_val(my_key)
if index_val == -1:
print(str(my_key) + ' was not found.')
else:
print('Element was found at index ' + str(index_val) + '.')
n = int(input('How many elements would you wish to add ? '))
for i in range(n):
data = int(input('Enter data : '))
my_instance.add_value(data)
print('The linked list is : ')
my_instance.print_it() আউটপুট
The linked list is : 67 4 78 98 32 0 11 8 What value would you search for? 11 Element was found at index 6. How many elements would you wish to add ? 2 Enter data : 111 Enter data : 56 The linked list is : 67 4 78 98 32 0 11 8 111 56
ব্যাখ্যা
-
'নোড' ক্লাস তৈরি করা হয়েছে।
-
প্রয়োজনীয় গুণাবলী সহ আরেকটি 'my_linked_list' ক্লাস তৈরি করা হয়েছে।
-
এটির একটি 'init' ফাংশন রয়েছে যা প্রথম উপাদানটি শুরু করতে ব্যবহৃত হয়, যেমন 'হেড' থেকে 'কোনও নয়' এবং শেষ নোড থেকে 'কোনটি নয়'।
-
'add_value' নামের আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে, যেটি লিঙ্ক করা তালিকায় ডেটা যোগ করতে ব্যবহৃত হয়।
-
'print_it' নামের আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা কনসোলে লিঙ্ক করা তালিকার ডেটা প্রদর্শন করতে ব্যবহৃত হয়।
-
'find_index_val' নামের আরেকটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা ব্যবহারকারীর দ্বারা প্রবেশ করা উপাদানটির সূচী খুঁজে পেতে সহায়তা করে।
-
'my_linked_list' ক্লাসের একটি অবজেক্ট তৈরি করা হয়েছে।
-
একটি তালিকা সংজ্ঞায়িত করা হয়েছে৷
৷ -
এই তালিকাটি পুনরাবৃত্তি করা হয়েছে, এবং ডেটা যোগ করার জন্য পদ্ধতিগুলিকে বলা হয়েছে৷
৷ -
এটি 'print_it' পদ্ধতি ব্যবহার করে কনসোলে প্রদর্শিত হয়।
-
ব্যবহারকারীর ইনপুটটি অনুসন্ধান করার জন্য উপাদানটির জন্য জিজ্ঞাসা করা হয়৷
-
এটিতে 'find_index_val' পদ্ধতি বলা হয় এবং কনসোলে আউটপুট প্রদর্শিত হয়।