mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-03-20 13:39:48 +00:00
[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
This commit is contained in:
parent
11ec2fd3fb
commit
20e09c3ec2
@ -1,11 +1,13 @@
|
|||||||
""" A Queue using a linked list like structure """
|
""" A Queue using a linked list like structure """
|
||||||
from typing import Any
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Any, Iterator
|
||||||
|
|
||||||
|
|
||||||
class Node:
|
class Node:
|
||||||
def __init__(self, data: Any) -> None:
|
def __init__(self, data: Any) -> None:
|
||||||
self.data = data
|
self.data: Any = data
|
||||||
self.next = None
|
self.next: Node | None = None
|
||||||
|
|
||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
return f"{self.data}"
|
return f"{self.data}"
|
||||||
@ -39,9 +41,10 @@ class LinkedQueue:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self) -> None:
|
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
|
node = self.front
|
||||||
while node:
|
while node:
|
||||||
yield node.data
|
yield node.data
|
||||||
@ -87,7 +90,7 @@ class LinkedQueue:
|
|||||||
"""
|
"""
|
||||||
return len(self) == 0
|
return len(self) == 0
|
||||||
|
|
||||||
def put(self, item) -> None:
|
def put(self, item: Any) -> None:
|
||||||
"""
|
"""
|
||||||
>>> queue = LinkedQueue()
|
>>> queue = LinkedQueue()
|
||||||
>>> queue.get()
|
>>> queue.get()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user