diff --git a/notes-and-examples/2026.05.06/homework.py b/notes-and-examples/2026.05.06/homework.py new file mode 100644 index 0000000..9f9cc39 --- /dev/null +++ b/notes-and-examples/2026.05.06/homework.py @@ -0,0 +1,18 @@ +# + +class Student: + def __init__(self, name: str, year: int): + self.name = name + self.year = year + +# homework: implement this Queue which orders students by year. +# students with a higher year are placed in front of students with a lower year +class Queue: + pass + + def append(self, student: Student): + pass + + def popleft(self) -> Student: + return Student(name="", year=0) + diff --git a/notes-and-examples/2026.05.06/registration.py b/notes-and-examples/2026.05.06/registration.py deleted file mode 100644 index 84b6dda..0000000 --- a/notes-and-examples/2026.05.06/registration.py +++ /dev/null @@ -1,45 +0,0 @@ -# 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