Answers for "merge sort in python explained"

-1

merge sort in python

def mergesort(list1):
    if len(list1) >1 :
    
        mid = len(list1)//2
        left_list = list1[:mid]
        right_list = list1[mid:]
        mergesort(left_list) #Using recursion down here for the sub list
        mergesort(right_list) #Using recursion down here for the sub list
        i = 0
        j = 0
        k = 0
        while i<len(left_list) and j<len(right_list):
            if left_list[i]< right_list[j]:
                list1[k] = left_list[i]
                i+=1
                k+=1
            else:
                list1[k] = right_list[j]
                j+=1
                k+=1
        while i < len(left_list): # I did this as for the end condition of above loop as when i or j will be equal to len(left/right list)  
            list1[k] = left_list[i]
            i+=1
            k+=1

        while j < len(right_list):
            list1[k] = right_list[j]
            j+=1
            k+=1
#Start watching from here and then as when function call will come then go check function
n = int(input("Enter how many element you want in the list : "))
list1 = [int(input()) for i in range(n)]
mergesort(list1)
print("sorted list : " + str(list1))
Posted by: Guest on March-11-2021

Python Answers by Framework

Browse Popular Code Answers by Language