Skip to content

Commit b0a4507

Browse files
grochedixstokhos
authored andcommitted
Wiggle sort (TheAlgorithms#2419)
* wiggle sort : type hint + doctest * fixed function name in docstring * correction
1 parent b1aed98 commit b0a4507

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

Diff for: sorts/wiggle_sort.py

+20-8
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,30 @@
99
"""
1010

1111

12-
def wiggle_sort(nums):
13-
"""Perform Wiggle Sort."""
14-
for i in range(len(nums)):
12+
def wiggle_sort(nums: list) -> list:
13+
"""
14+
Python implementation of wiggle.
15+
Example:
16+
>>> wiggle_sort([0, 5, 3, 2, 2])
17+
[0, 5, 2, 3, 2]
18+
>>> wiggle_sort([])
19+
[]
20+
>>> wiggle_sort([-2, -5, -45])
21+
[-45, -2, -5]
22+
>>> wiggle_sort([-2.1, -5.68, -45.11])
23+
[-45.11, -2.1, -5.68]
24+
"""
25+
for i, _ in enumerate(nums):
1526
if (i % 2 == 1) == (nums[i - 1] > nums[i]):
1627
nums[i - 1], nums[i] = nums[i], nums[i - 1]
1728

29+
return nums
30+
1831

1932
if __name__ == "__main__":
20-
print("Enter the array elements:\n")
33+
print("Enter the array elements:")
2134
array = list(map(int, input().split()))
22-
print("The unsorted array is:\n")
23-
print(array)
24-
wiggle_sort(array)
25-
print("Array after Wiggle sort:\n")
35+
print("The unsorted array is:")
2636
print(array)
37+
print("Array after Wiggle sort:")
38+
print(wiggle_sort(array))

0 commit comments

Comments
 (0)