MCPcopy Create free account
hub / github.com/TheAlgorithms/Python / median_of_3

Function median_of_3

sorts/intro_sort.py:82–105  ·  view source on GitHub ↗

>>> array = [4, 2, 6, 8, 1, 7, 8, 22, 14, 56, 27, 79, 23, 45, 14, 12] >>> median_of_3(array, 0, ((len(array) - 0) // 2) + 1, len(array) - 1) 12 >>> array = [13, 2, 6, 8, 1, 7, 8, 22, 14, 56, 27, 79, 23, 45, 14, 12] >>> median_of_3(array, 0, ((len(array) - 0) // 2) + 1, len(array

(
    array: list, first_index: int, middle_index: int, last_index: int
)

Source from the content-addressed store, hash-verified

80
81
82def median_of_3(
83 array: list, first_index: int, middle_index: int, last_index: int
84) -> int:
85 """
86 >>> array = [4, 2, 6, 8, 1, 7, 8, 22, 14, 56, 27, 79, 23, 45, 14, 12]
87 >>> median_of_3(array, 0, ((len(array) - 0) // 2) + 1, len(array) - 1)
88 12
89 >>> array = [13, 2, 6, 8, 1, 7, 8, 22, 14, 56, 27, 79, 23, 45, 14, 12]
90 >>> median_of_3(array, 0, ((len(array) - 0) // 2) + 1, len(array) - 1)
91 13
92 >>> array = [4, 2, 6, 8, 1, 7, 8, 22, 15, 14, 27, 79, 23, 45, 14, 16]
93 >>> median_of_3(array, 0, ((len(array) - 0) // 2) + 1, len(array) - 1)
94 14
95 """
96 if (array[first_index] > array[middle_index]) != (
97 array[first_index] > array[last_index]
98 ):
99 return array[first_index]
100 elif (array[middle_index] > array[first_index]) != (
101 array[middle_index] > array[last_index]
102 ):
103 return array[middle_index]
104 else:
105 return array[last_index]
106
107
108def partition(array: list, low: int, high: int, pivot: int) -> int:

Callers 1

intro_sortFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected