When it is necessary to search for an element in a doubly linked list, a ‘Node’ class should be created. Python Program This class has three properties, data that exists in a node, access to the next node in the linked list, and access to the previous node in the linked list.
You need to create another class that has an initialization function, and the node header will be initialized to ‘None’ within it.
Another Program:- Python Program to Display the multiplication Table 13
The user defines various methods for adding nodes to the linked list, displaying the nodes, and searching for a specific node in the linked list.
In a doubly-linked list, nodes contain pointers. The current node will contain a pointer to the next node as well as the previous node. The last value in the list will have the value ‘NULL’ in the next pointer. It can be traveled in both directions.
doubly linked list Source Code
class Node: def __init__(self, my_data): self.previous = None self.data = my_data self.next = None class double_list: def __init__(self): self.head = None self.tail = None def add_data(self, my_data): new_node = Node(my_data) if(self.head == None): self.head = self.tail = new_node self.head.previous = None self.tail.next = None else: self.tail.next = new_node new_node.previous = self.tail self.tail = new_node self.tail.next = None def print_it(self): curr = self.head if (self.head == None): print("The list is empty") return print("The nodes in the doubly linked list are :") while curr != None: print(curr.data) curr = curr.next def search_node(self, val_to_search): i = 1; flag_val = False; curr = self.head; if(self.head == None): print("List is empty") return while(curr != None): if(curr.data == val_to_search): flag_val = True break curr = curr.next i = i + 1 if(flag_val): print("The node is present in the list at position : ") print(i) else: print("The node isn't present in the list") my_instance = double_list() print("Elements are being added to the doubly linked list") my_instance.add_data(10) my_instance.add_data(24) my_instance.add_data(54) my_instance.add_data(77) my_instance.add_data(24) my_instance.add_data(0) my_instance.print_it() print("The element 77 is being searched... ") my_instance.search_node(77)
Elements are being added to the doubly linked list The nodes in the doubly linked list are : 10 24 54 77 24 0 The element 77 is being searched... The node is present in the list at position : 4
Define a node class that represents a node in the list. It will have three properties: data, previous, which will point to the previous node, and next, which will point to the next node. Define another class to create a doubly linked list that has two nodes: head and tail. Initially head and tail will point to zero.
Another Program:- Python Program to Find the Square Root
- The class ‘Node’ has been created.
- Another class is created with the required attributes.
- Another method called ‘add_data’ is defined, which is used to add data to the circular linked list.
- Another method called ‘search_node’ is defined, which takes a parameter to search in the doubly linked list.
- Find the element and return the index.
- Another method called ‘print_it’ is defined which is used to display linked list data in the console.
- An object of class ‘double_list’ is created and methods are called to add data.
- The ‘search_node’ method is called.
- Iterates through the nodes in the linked list and return the index of the element if found.
- It is displayed in the console using the ‘print_it’ method