sorts.cyclic_sort

This is a pure Python implementation of the Cyclic Sort algorithm.

For doctests run following command: python -m doctest -v cyclic_sort.py or python3 -m doctest -v cyclic_sort.py For manual testing run: python cyclic_sort.py or python3 cyclic_sort.py

Attributes

user_input

Functions

cyclic_sort(→ list[int])

Sorts the input list of n integers from 1 to n in-place

Module Contents

sorts.cyclic_sort.cyclic_sort(nums: list[int]) list[int]

Sorts the input list of n integers from 1 to n in-place using the Cyclic Sort algorithm.

Parameters:

nums – List of n integers from 1 to n to be sorted.

Returns:

The same list sorted in ascending order.

Time complexity: O(n), where n is the number of integers in the list.

Examples: >>> cyclic_sort([]) [] >>> cyclic_sort([3, 5, 2, 1, 4]) [1, 2, 3, 4, 5]

sorts.cyclic_sort.user_input