Untitled
unknown
python
18 days ago
1.8 kB
3
Indexable
class Node: def __init__(self, value): self.value = value self.next = None class LinkedList: def __init__(self): self.head = None def append(self, value): new_node = Node(value) if not self.head: self.head = new_node return current = self.head while current.next: current = current.next current.next = new_node def insert(self, index, value): new_node = Node(value) if index == 0: new_node.next = self.head self.head = new_node return current = self.head for _ in range(index - 1): if not current: raise IndexError("Index out of range") current = current.next new_node.next = current.next current.next = new_node def remove(self, index): if not self.head: raise IndexError("Empty list") if index == 0: self.head = self.head.next return current = self.head for _ in range(index - 1): if not current.next: raise IndexError("Index out of range") current = current.next current.next = current.next.next if current.next else None def get(self, index): current = self.head for _ in range(index): if not current: raise IndexError("Index out of range") current = current.next return current.value if current else None def __str__(self): values = [] current = self.head while current: values.append(current.value) current = current.next return str(values)
Editor is loading...
Leave a Comment