class Node: def __init__(self,value): self.value = value self.next = None class LinkedList: def __init__(self): self.head = None def add_front(self,value): new_node = Node(value) new_node.next = self.head self.head = new_node def add_back(self,value): new_node = Node(value) if self.head is None: self.head = new_node else: current = self.head while current.next is not None: current = current.next current.next = new_node def print_list(self): current = self.head while current is not None: print(current.value) current = current.next list1 = LinkedList() list1.add_front(1) list1.add_front(2) list1.add_back(3) list1.print_list()
1. Node Class:
- Represents an individual element in the linked list.
- Each node has two attributes: value to store data and next to point to the next node in the list.
- When a node is created, its next pointer is set to None.
2. LinkedList Class:
- Manages the linked list operations.
- Has an attribute head which is the starting point of the linked list. Initially, head is set to None since the list is empty.
3. add_front Method:
- Adds a new node to the front of the linked list.
- A new Node is created with the given value.
- The new node's next pointer is set to the current head of the list.
- The head of the list is then updated to the new node.
4. add_back Method:
- Adds a new node to the end of the linked list.
- A new Node is created with the given value.
- If the list is empty (i.e., head is None), the new node is set as the head.
- If the list is not empty, it traverses to the end of the list, then updates the last node's next pointer to point to the new node.
5. print_list Method:
- Prints all the values in the linked list from the head to the end.
- Starts from the head and iterates through each node using the next pointer until it reaches the end (None), printing the value of each node.
6. Usage Example:
- An instance of LinkedList is created.
- add_front is called twice to add nodes with values 1 and 2 to the front of the list.
- add_back is called to add a node with value 3 to the end of the list.
- print_list is called to print the values of all nodes in the linked list. The output is 2, 1, 3, showing that nodes were added correctly.
Top comments (0)