Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Merge sort implementation
""" Merge sort implementation Author: Jayesh Chandrapal Version: 1.0 """ def _split(arr): return (arr[: len(arr) // 2], arr[len(arr) // 2 :]) def _merge(left, right): leftIndex = 0 rightIndex = 0 result = [] while leftIndex < len(left) and rightIndex < len(right): if left[leftIndex] <= right[rightIndex]: result.append(left[leftIndex]) leftIndex += 1 else: result.append(right[rightIndex]) rightIndex += 1 if leftIndex < len(left): result.extend(left[leftIndex:]) elif rightIndex < len(right): result.extend(right[rightIndex:]) return result def mergeSort(arr): if arr is None: return None if len(arr) < 2: return arr left, right = _split(arr) return _merge(mergeSort(left), mergeSort(right)) nums = [1, 6, 5, 7, 8, 2, 4, 3, 9] print(mergeSort(nums))
run
|
edit
|
history
|
help
0
Character converter
19.09.18
Hello
Array
total_tips
Play
guessgame
adda
Generating subsets
EquivalentRandomDigits