From cddf713c9a5ae1ce266287f308199995a8f63647 Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Wed, 6 May 2026 14:57:14 -0700 Subject: [PATCH] Add 2026.05.08 pre-existing code --- notes-and-examples/2026.05.06/registration.py | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 notes-and-examples/2026.05.06/registration.py diff --git a/notes-and-examples/2026.05.06/registration.py b/notes-and-examples/2026.05.06/registration.py new file mode 100644 index 0000000..84b6dda --- /dev/null +++ b/notes-and-examples/2026.05.06/registration.py @@ -0,0 +1,45 @@ +# from 2026.02.28 +class Node: + next_node: "None | Node" = None + prev_node: "None | Node" = None + + def __init__(self, value): + self.value = value + +class Queue: + front: "Node | None" = None + back: "Node | None" = None + + def append(self, value): + if self.back is None: + self.front = Node(value) + self.back = self.front + else: + new_node = Node(value) + self.back.prev_node = new_node + new_node.next_node = self.back + self.back = new_node + + def popleft(self): + if self.front is not None: + prev_front = self.front + + prev_node_in_queue = self.front.prev_node + self.front.next_node = None + self.front.prev_node = None + if prev_node_in_queue is not None: + prev_node_in_queue.next_node = None + + self.front = prev_node_in_queue + + return prev_front + else: + return None + + def print_queue(self): + current_node = self.front + while current_node is not None: + print(current_node.value) + current_node = current_node.prev_node + +# from today