diff --git a/sorts/bead_sort.py b/sorts/bead_sort.py index 6f33d129d..2e6fa5161 100644 --- a/sorts/bead_sort.py +++ b/sorts/bead_sort.py @@ -31,9 +31,9 @@ def bead_sort(sequence: list) -> list: if any(not isinstance(x, int) or x < 0 for x in sequence): raise TypeError("Sequence must be list of non-negative integers") for _ in range(len(sequence)): - for i in range(len(sequence) - 1): - if sequence[i] > sequence[i + 1]: - sequence[i], sequence[i + 1] = sequence[i + 1], sequence[i] + for i, (rod_upper, rod_lower) in enumerate(pairwise(sequence)): + if rod_upper > rod_lower: + sequence[i], sequence[i + 1] = rod_lower, rod_upper return sequence