From e96f1ecfdc3a7ac895c1cd814a6f2de079a04bd3 Mon Sep 17 00:00:00 2001 From: Guillaume Date: Sat, 12 Sep 2020 21:44:40 +0200 Subject: [PATCH 1/3] wiggle sort : type hint + doctest --- sorts/wiggle_sort.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/sorts/wiggle_sort.py b/sorts/wiggle_sort.py index 5e5220ffbf05..cd8d19c7d0f2 100644 --- a/sorts/wiggle_sort.py +++ b/sorts/wiggle_sort.py @@ -9,18 +9,27 @@ """ -def wiggle_sort(nums): - """Perform Wiggle Sort.""" +def wiggle_sort(nums: list): + """ + Python implementation of wiggle. + Example: + >>> merge_sort([0, 5, 3, 2, 2]) + [0, 5, 2, 3, 2] + >>> merge_sort([]) + [] + >>> merge_sort([-2, -5, -45]) + [-45, -2, -5] + """ for i in range(len(nums)): if (i % 2 == 1) == (nums[i - 1] > nums[i]): nums[i - 1], nums[i] = nums[i], nums[i - 1] if __name__ == "__main__": - print("Enter the array elements:\n") + print("Enter the array elements:") array = list(map(int, input().split())) - print("The unsorted array is:\n") + print("The unsorted array is:") print(array) wiggle_sort(array) - print("Array after Wiggle sort:\n") + print("Array after Wiggle sort:") print(array) From ee3ca9115526f2446fa641ea0c94996325533ca9 Mon Sep 17 00:00:00 2001 From: Guillaume Date: Sat, 12 Sep 2020 21:53:05 +0200 Subject: [PATCH 2/3] fixed function name in docstring --- sorts/wiggle_sort.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sorts/wiggle_sort.py b/sorts/wiggle_sort.py index cd8d19c7d0f2..68c897e1bd5a 100644 --- a/sorts/wiggle_sort.py +++ b/sorts/wiggle_sort.py @@ -13,23 +13,24 @@ def wiggle_sort(nums: list): """ Python implementation of wiggle. Example: - >>> merge_sort([0, 5, 3, 2, 2]) + >>> wiggle_sort([0, 5, 3, 2, 2]) [0, 5, 2, 3, 2] - >>> merge_sort([]) + >>> wiggle_sort([]) [] - >>> merge_sort([-2, -5, -45]) + >>> wiggle_sort([-2, -5, -45]) [-45, -2, -5] """ - for i in range(len(nums)): + for i, _ in enumerate(nums): if (i % 2 == 1) == (nums[i - 1] > nums[i]): nums[i - 1], nums[i] = nums[i], nums[i - 1] + return nums + if __name__ == "__main__": print("Enter the array elements:") array = list(map(int, input().split())) print("The unsorted array is:") print(array) - wiggle_sort(array) print("Array after Wiggle sort:") - print(array) + print(wiggle_sort(array)) From dfd5afd3e6d18dc42e260e906e1c5ad8af11a638 Mon Sep 17 00:00:00 2001 From: Guillaume Date: Thu, 24 Sep 2020 18:47:06 +0200 Subject: [PATCH 3/3] correction --- sorts/wiggle_sort.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sorts/wiggle_sort.py b/sorts/wiggle_sort.py index 68c897e1bd5a..13bc3ce9606f 100644 --- a/sorts/wiggle_sort.py +++ b/sorts/wiggle_sort.py @@ -9,7 +9,7 @@ """ -def wiggle_sort(nums: list): +def wiggle_sort(nums: list) -> list: """ Python implementation of wiggle. Example: @@ -19,6 +19,8 @@ def wiggle_sort(nums: list): [] >>> wiggle_sort([-2, -5, -45]) [-45, -2, -5] + >>> wiggle_sort([-2.1, -5.68, -45.11]) + [-45.11, -2.1, -5.68] """ for i, _ in enumerate(nums): if (i % 2 == 1) == (nums[i - 1] > nums[i]):