From 8a335b6cd1edcf6e51d4f8b5ead9137b68372bef Mon Sep 17 00:00:00 2001 From: Nayif Ehan <128936184+las-r@users.noreply.github.com> Date: Sat, 21 Feb 2026 14:42:29 -0500 Subject: [PATCH 1/2] Create bozo_sort.py --- sorts/bozo_sort.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sorts/bozo_sort.py diff --git a/sorts/bozo_sort.py b/sorts/bozo_sort.py new file mode 100644 index 000000000000..6681a941a0fb --- /dev/null +++ b/sorts/bozo_sort.py @@ -0,0 +1,44 @@ +""" +This is a pure Python implementation of the bozosort algorithm. + +Bozosort chooses two elements at random and swaps them. It does +this repeatedly until the list is sorted. + +For more info, check "Bozosort": https://en.wikipedia.org/wiki/Bogosort#Related_algorithms + +For doctests run following command: +python -m doctest -v bozo_sort.py +or +python3 -m doctest -v bozo_sort.py + +For manual testing run: +python bozo_sort.py +""" + +import random + + +def bozo_sort(array: list): + """ + Pure Python implementation of the bozosort algorithm. + Examples: + >>> bozo_sort([1, 14, 20, 9, 5]) + [1, 5, 9, 14, 20] + >>> bozo_sort([8, 16, 0, 4, 10]) + [0, 4, 8, 10, 16] + """ + + while array != sorted(array): + index_a = random.randint(0, len(array) - 1) + index_b = random.randint(0, len(array) - 1) + + array[index_a], array[index_b] = array[index_b], array[index_a] + + return array + + +if __name__ == "__main__": + user_array = input("Enter numbers separated by spaces: ") + unsorted = [int(i) for i in user_array.split(" ")] + + print(bozo_sort(unsorted)) From 2a55aa29d3624ff1731388e73124e83113310b24 Mon Sep 17 00:00:00 2001 From: Nayif Ehan <128936184+las-r@users.noreply.github.com> Date: Sat, 21 Feb 2026 14:46:41 -0500 Subject: [PATCH 2/2] Update bozo_sort.py --- sorts/bozo_sort.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorts/bozo_sort.py b/sorts/bozo_sort.py index 6681a941a0fb..7095c0b3174e 100644 --- a/sorts/bozo_sort.py +++ b/sorts/bozo_sort.py @@ -18,7 +18,7 @@ import random -def bozo_sort(array: list): +def bozo_sort(array: list) -> list: """ Pure Python implementation of the bozosort algorithm. Examples: