diff --git a/Searching & sorting/Sorting/recursiveinsertionsort.py b/Searching & sorting/Sorting/recursiveinsertionsort.py new file mode 100644 index 0000000..7c4cd34 --- /dev/null +++ b/Searching & sorting/Sorting/recursiveinsertionsort.py @@ -0,0 +1,35 @@ +# Recursive Python program for insertion sort +# Recursive function to sort an array using insertion sort + +def insertionSortRecursive(arr,n): + # base case + if n<=1: + return + + # Sort first n-1 elements + insertionSortRecursive(arr,n-1) + '''Insert last element at its correct position + in sorted array.''' + last = arr[n-1] + j = n-2 + + # Move elements of arr[0..i-1], that are + # greater than key, to one position ahead + # of their current position + while (j>=0 and arr[j]>last): + arr[j+1] = arr[j] + j = j-1 + + arr[j+1]=last + +# A utility function to print an array of size n +def printArray(arr,n): + for i in range(n): + print(arr[i],end=" ") + +# Driver program to test insertion sort +arr = [12,11,13,5,6] +n = len(arr) +insertionSortRecursive(arr, n) +printArray(arr, n) +