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))