data_structures.linked_list

Linked Lists consists of Nodes. Nodes contain data and also may link to other nodes:

  • Head Node: First node, the address of the

    head node gives us access of the complete list

  • Last node: points to null

Submodules

Classes

LinkedList

Node

Package Contents

class data_structures.linked_list.LinkedList
__len__() int
>>> linked_list = LinkedList()
>>> len(linked_list)
0
>>> linked_list.add("a")
>>> len(linked_list)
1
>>> linked_list.add("b")
>>> len(linked_list)
2
>>> _ = linked_list.remove()
>>> len(linked_list)
1
>>> _ = linked_list.remove()
>>> len(linked_list)
0
__str__() str
>>> linked_list = LinkedList()
>>> linked_list.add(23)
>>> linked_list.add(14)
>>> linked_list.add(9)
>>> print(linked_list)
9 --> 14 --> 23
add(item: Any, position: int = 0) None

Add an item to the LinkedList at the specified position. Default position is 0 (the head).

Args:

item (Any): The item to add to the LinkedList. position (int, optional): The position at which to add the item.

Defaults to 0.

Raises:

ValueError: If the position is negative or out of bounds.

>>> linked_list = LinkedList()
>>> linked_list.add(1)
>>> linked_list.add(2)
>>> linked_list.add(3)
>>> linked_list.add(4, 2)
>>> print(linked_list)
3 --> 2 --> 4 --> 1

# Test adding to a negative position >>> linked_list.add(5, -3) Traceback (most recent call last):

ValueError: Position must be non-negative

# Test adding to an out-of-bounds position >>> linked_list.add(5,7) Traceback (most recent call last):

ValueError: Out of bounds >>> linked_list.add(5, 4) >>> print(linked_list) 3 –> 2 –> 4 –> 1 –> 5

is_empty() bool
remove() Any
head: Node | None = None
size = 0
class data_structures.linked_list.Node(item: Any, next: Any)
item
next