From b64141263e61b511518d029878c463068ac4022d Mon Sep 17 00:00:00 2001 From: Nataliia Volkova Date: Sun, 15 Feb 2026 10:14:30 +0000 Subject: [PATCH 1/3] linkedList --- Sprint-2/implement_linked_list/linked_list.py | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/Sprint-2/implement_linked_list/linked_list.py b/Sprint-2/implement_linked_list/linked_list.py index e69de29..514d4b5 100644 --- a/Sprint-2/implement_linked_list/linked_list.py +++ b/Sprint-2/implement_linked_list/linked_list.py @@ -0,0 +1,56 @@ +class Node: + def __init__(self, data): + self.data = data + self.next = None + self.previous = None + +class LinkedList: + def __init__(self): + self.head = None + self.tail = None + + def push_head(self, data): + node = Node(data) + + node.next = self.head + if self.head is None: + self.tail = node + else: + self.head.previous = node + self.head = node + return node + + def remove(self, node): + if node is None: + return + + if node.previous is None: + self.head = node.next + else: + node.previous.next = node.next + + if node.next is None: + self.tail = node.previous + else: + node.next.previous = node.previous + node.previous = None + node.next = None + + def pop_tail(self): + if self.head is None: + return + if self.tail is None: + return None + + node = self.tail + if node.previous is None: + self.head = None + self.tail = None + else: + self.tail = node.previous + self.tail.next = None + node.previous = None + node.next = None + return node.data + + From 4882036d1f99801c11b3cf19022e4bf52222a03a Mon Sep 17 00:00:00 2001 From: Nataliia Volkova Date: Mon, 20 Apr 2026 23:12:50 +0100 Subject: [PATCH 2/3] maked simpler code --- Sprint-2/implement_linked_list/linked_list.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/Sprint-2/implement_linked_list/linked_list.py b/Sprint-2/implement_linked_list/linked_list.py index 514d4b5..0b47528 100644 --- a/Sprint-2/implement_linked_list/linked_list.py +++ b/Sprint-2/implement_linked_list/linked_list.py @@ -38,19 +38,18 @@ def remove(self, node): def pop_tail(self): if self.head is None: - return - if self.tail is None: return None node = self.tail - if node.previous is None: - self.head = None - self.tail = None - else: - self.tail = node.previous - self.tail.next = None - node.previous = None - node.next = None + self.remove(node) + # if node.previous is None: + # self.head = None + # self.tail = None + # else: + # self.tail = node.previous + # self.tail.next = None + # node.previous = None + # node.next = None return node.data From b09d6ff18981ffcf40e55470aaff5ce3995f6eb7 Mon Sep 17 00:00:00 2001 From: Nataliia Volkova Date: Tue, 21 Apr 2026 13:37:15 +0100 Subject: [PATCH 3/3] removed an old script --- Sprint-2/implement_linked_list/linked_list.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Sprint-2/implement_linked_list/linked_list.py b/Sprint-2/implement_linked_list/linked_list.py index 0b47528..24436ff 100644 --- a/Sprint-2/implement_linked_list/linked_list.py +++ b/Sprint-2/implement_linked_list/linked_list.py @@ -42,14 +42,6 @@ def pop_tail(self): node = self.tail self.remove(node) - # if node.previous is None: - # self.head = None - # self.tail = None - # else: - # self.tail = node.previous - # self.tail.next = None - # node.previous = None - # node.next = None return node.data