Site icon DataFlair

Merge Sort in DSA with Python

Program 1

import os
os.system('cls')
def merge_sort(arr):
    if(len(arr)>1):
        left_arr=arr[:len(arr)//2]
        right_arr=arr[len(arr)//2:]
        #apply recrusion
        merge_sort(left_arr)  # recursive function
        merge_sort(right_arr) # recursive function
        #merge
        i=0
        j=0
        k=0 
        while(i<len(left_arr) and j<len(right_arr)):
            if(left_arr[i]<right_arr[j]):
                arr[k]=left_arr[i]
                i=i+1
            else: 
                arr[k]=right_arr[j]
                j=j+1
            k=k+1

        while(i<len(left_arr)):
               arr[k]=left_arr[i]
               i=i+1
               k=k+1

        while(j<len(right_arr)):
            arr[k]=right_arr[j]
            j=j+1
            k=k+1

# Main code(start code)
arr_test=[]
n=int(input("Enter the limit"))
print("Enter elements: ")
for i in range(n):
    x=int(input())
    arr_test.append(x)

merge_sort(arr_test)
print(arr_test)    

 

Exit mobile version