Compare commits

...

2 Commits

Author SHA1 Message Date
Giulio Tantaro
f1c5af6c19
Merge 5f66061be5 into ad6395d340 2024-10-05 23:00:18 +05:30
lorduke22
5f66061be5 add doctest for quick_sort_3_partition. Contributes to #9943 2024-10-05 17:05:08 +02:00

View File

@ -1,4 +1,27 @@
def quick_sort_3partition(sorting: list, left: int, right: int) -> None:
""" "
Python implementation of quick sort algorithm with 3-way partition.
The idea of 3-way quick sort is based on "Dutch National Flag algorithm".
:param sorting: sort list
:param left: left endpoint of sorting
:param right: right endpoint of sorting
:return: None
Examples:
>>> array1 = [5, -1, -1, 5, 5, 24, 0]
>>> quick_sort_3partition(array1, 0, 6)
>>> array1
[-1, -1, 0, 5, 5, 5, 24]
>>> array2 = [9, 0, 2, 6]
>>> quick_sort_3partition(array2, 0, 3)
>>> array2
[0, 2, 6, 9]
>>> array3 = []
>>> quick_sort_3partition(array3, 0, 0)
>>> array3
[]
"""
if right <= left:
return
a = i = left