diff --git a/Sorting/Merge Sort/Merge_Sort.py b/Sorting/Merge Sort/Merge_Sort.py new file mode 100644 index 00000000..6dbd5649 --- /dev/null +++ b/Sorting/Merge Sort/Merge_Sort.py @@ -0,0 +1,31 @@ +def mergeSort(nlist): +if len(nlist)>1: + mid = len(nlist)//2 + lefthalf = nlist[:mid] + righthalf = nlist[mid:] + + mergeSort(lefthalf) + mergeSort(righthalf) + i=j=k=0 + while i < len(lefthalf) and j < len(righthalf): + if lefthalf[i] < righthalf[j]: + nlist[k]=lefthalf[i] + i=i+1 + else: + nlist[k]=righthalf[j] + j=j+1 + k=k+1 + + while i < len(lefthalf): + nlist[k]=lefthalf[i] + i=i+1 + k=k+1 + + while j < len(righthalf): + nlist[k]=righthalf[j] + j=j+1 + k=k+1 + +nlist = [3,1,4,1,5,9,2,6,5,4] +mergeSort(nlist) +print(nlist)