Run ❯
Get your
own Python
server
❯
Run Code
Ctrl+Alt+R
Change Orientation
Ctrl+Alt+O
Change Theme
Ctrl+Alt+D
Go to Spaces
Ctrl+Alt+P
def merge(left, right): result = [] i = j = 0 while i < len(left) and j < len(right): if left[i] < right[j]: result.append(left[i]) i += 1 else: result.append(right[j]) j += 1 result.extend(left[i:]) result.extend(right[j:]) return result def mergeSort(arr): step = 1 # Starting with sub-arrays of length 1 length = len(arr) while step < length: for i in range(0, length, 2 * step): left = arr[i:i + step] right = arr[i + step:i + 2 * step] merged = merge(left, right) # Place the merged array back into the original array for j, val in enumerate(merged): arr[i + j] = val step *= 2 # Double the sub-array length for the next iteration return arr mylist = [3, 7, 6, -10, 15, 23.5, 55, -13] mysortedlist = mergeSort(mylist) print(mysortedlist)
[-13, 3, 7, 6, -10, 15, 23.5, 55]