Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
add doctest for quick_sort_3_partition (TheAlgorithms#11779)
  • Loading branch information
lorduke22 authored Dec 30, 2024
commit 5942059cb571b213e5ec82fe9b45e5a9bef4864b
23 changes: 23 additions & 0 deletions sorts/quick_sort_3_partition.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down