From 20e09c3ec2021edf7e6cfd85299544c651012919 Mon Sep 17 00:00:00 2001 From: Dylan Buchi <devybuchi@gmail.com> Date: Sat, 23 Oct 2021 06:56:58 -0300 Subject: [PATCH] [mypy] Add type annotations for linked queue in data structures (#5533) * [mypy] Add/fix type annotations for linked queue in data_structures * add return type annotation to __iter__ * Add more readable syntax --- data_structures/queue/linked_queue.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/data_structures/queue/linked_queue.py b/data_structures/queue/linked_queue.py index 8526ad311..21970e7df 100644 --- a/data_structures/queue/linked_queue.py +++ b/data_structures/queue/linked_queue.py @@ -1,11 +1,13 @@ """ A Queue using a linked list like structure """ -from typing import Any +from __future__ import annotations + +from typing import Any, Iterator class Node: def __init__(self, data: Any) -> None: - self.data = data - self.next = None + self.data: Any = data + self.next: Node | None = None def __str__(self) -> str: return f"{self.data}" @@ -39,9 +41,10 @@ class LinkedQueue: """ def __init__(self) -> None: - self.front = self.rear = None + self.front: Node | None = None + self.rear: Node | None = None - def __iter__(self): + def __iter__(self) -> Iterator[Any]: node = self.front while node: yield node.data @@ -87,7 +90,7 @@ class LinkedQueue: """ return len(self) == 0 - def put(self, item) -> None: + def put(self, item: Any) -> None: """ >>> queue = LinkedQueue() >>> queue.get()