+ 1

Insertion sort using recursion

def insertion_sort(seq): isort(seq,len(seq)) def isort(seq,k): if k>1: isort(seq,k-1) insert(seq,k-1) def insert(seq,k): print(k) pos=k while pos>0 and seq[pos]<seq[pos-1]: (seq[pos],seq[pos-1])=(seq[pos-1],seq[pos]) pos-=1 print(seq) seq=[9,8,7,6,5,4,3,2,1] insertion_sort(seq) print(seq) In this python code isort is called recursively my doubt is how the recursive function is stored and executed in stack and how many times insert function inside isort function is called.

30th Sep 2020, 4:10 AM
Chinnmay B S
Chinnmay B S - avatar
1 Answer
isort is called recursively until index 1, and it is getting swapped with previous index value until it is greater than value at that index... So len(seq) =k =>9 it is recursively calling until k=1. And in insert function, value getting positioned correct place..
30th Sep 2020, 11:54 AM
Jayakrishna 🇮🇳