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)