diff --git a/sorts/tree_sort.py b/sorts/tree_sort.py index 056864957d4d..d386baf7745f 100644 --- a/sorts/tree_sort.py +++ b/sorts/tree_sort.py @@ -6,7 +6,7 @@ from __future__ import annotations -from collections.abc import Iterator +from collections.abc import Iterable, Iterator from dataclasses import dataclass @@ -39,7 +39,7 @@ def insert(self, val: int) -> None: self.right.insert(val) -def tree_sort(arr: list[int]) -> tuple[int, ...]: +def tree_sort(arr: Iterable[int]) -> tuple[int, ...]: """ >>> tree_sort([]) () @@ -54,11 +54,12 @@ def tree_sort(arr: list[int]) -> tuple[int, ...]: >>> tree_sort([5, 6, 1, -1, 4, 37, 2, 7]) (-1, 1, 2, 4, 5, 6, 7, 37) - # >>> tree_sort(range(10, -10, -1)) == tuple(sorted(range(10, -10, -1))) - # True + >>> tree_sort(range(10, -10, -1)) == tuple(sorted(range(10, -10, -1))) + True """ + arr = list(arr) if len(arr) == 0: - return tuple(arr) + return () root = Node(arr[0]) for item in arr[1:]: root.insert(item)