Skip to content

Commit 74b8e35

Browse files
committed
Merge branch 'main' into dev
2 parents e66ec01 + a51e396 commit 74b8e35

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

pystrukts/list/doubly_linked_list.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def __str__(self):
3030
return f"DoublyLinkedNode({self.data}){' <-> ' + str(self.next) if self.next else ''}"
3131

3232
@dataclass
33+
class DoublyLinkedList(LinkedList[DoublyLinkedNode]):
3334
class DoublyLinkedList(LinkedList[DoublyLinkedNode]):
3435
'''
3536
DoublyLinkedList Class.
@@ -61,9 +62,13 @@ class DoublyLinkedList(LinkedList[DoublyLinkedNode]):
6162
def __init__(self, circular: bool = False):
6263
super().__init__(DoublyLinkedNode, circular)
6364

65+
def _link(self, node1: DoublyLinkedNode, node2: DoublyLinkedNode):
66+
super().__init__(DoublyLinkedNode, circular)
67+
6468
def _link(self, node1: DoublyLinkedNode, node2: DoublyLinkedNode):
6569
'''
6670
Link two nodes.
71+
Link two nodes.
6772
6873
Args:
6974
node1 (DoublyLinkedNode): The first node.
@@ -73,4 +78,12 @@ def _link(self, node1: DoublyLinkedNode, node2: DoublyLinkedNode):
7378
node1.next = node2
7479
if node2:
7580
node2.prev = node1
81+
82+
node1 (DoublyLinkedNode): The first node.
83+
node2 (DoublyLinkedNode): The second node.
84+
'''
85+
86+
node1.next = node2
87+
if node2:
88+
node2.prev = node1
7689

pystrukts/list/singly_linked_list.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ def __str__(self):
2828
return f"SinglyLinkedNode({self.data}){' -> ' + str(self.next) if self.next else ''}"
2929

3030

31+
class SinglyLinkedList(LinkedList[SinglyLinkedNode]):
32+
3133
class SinglyLinkedList(LinkedList[SinglyLinkedNode]):
3234
'''
3335
SinglyLinkedList Class.
@@ -59,13 +61,22 @@ class SinglyLinkedList(LinkedList[SinglyLinkedNode]):
5961
def __init__(self, circular: bool = False):
6062
super().__init__(SinglyLinkedNode, circular)
6163

64+
def _link(self, node1: SinglyLinkedNode, node2: SinglyLinkedNode):
65+
super().__init__(SinglyLinkedNode, circular)
66+
6267
def _link(self, node1: SinglyLinkedNode, node2: SinglyLinkedNode):
6368
'''
6469
Link two nodes.
70+
Link two nodes.
6571
6672
Args:
6773
node1 (SinglyLinkedNode): The first node.
6874
node2 (SinglyLinkedNode): The second node.
6975
'''
7076

7177
node1.next = node2
78+
node1 (SinglyLinkedNode): The first node.
79+
node2 (SinglyLinkedNode): The second node.
80+
'''
81+
82+
node1.next = node2

0 commit comments

Comments
 (0)