Log In Sign Up
Day 8

Day 8: Singly Linked Lists - Implementation and Basic Operations

8/60 Days

Singly Linked Lists - Implementation and Basic Operations #

Welcome to Day 8 of our 60 Days of Coding Algorithm Challenge! Today, we’ll dive deeper into singly linked lists, implementing a more comprehensive version and exploring various operations.

Singly Linked List Structure #

A singly linked list consists of nodes where each node contains data and a pointer to the next node. The last node points to None, indicating the end of the list.

1class Node:
2    def __init__(self, data):
3        self.data = data
4        self.next = None

Implementing a Singly Linked List #

Let’s implement a singly linked list with several basic operations:

 1class SinglyLinkedList:
 2    def __init__(self):
 3        self.head = None
 4
 5    def is_empty(self):
 6        return self.head is None
 7
 8    def append(self, data):
 9        new_node = Node(data)
10        if self.is_empty():
11            self.head = new_node
12        else:
13            current = self.head
14            while current.next:
15                current = current.next
16            current.next = new_node
17
18    def prepend(self, data):
19        new_node = Node(data)
20        new_node. …