Problem statement:- Program to Implement Insertion sort using recursion.
Data requirement:-
Input Data:-n, arr
Output Data:-String Output
Output Data:-String Output
Program in C
Here is the source code of the C Program to Implement Insertion sort using recursion.
Code:
#include<stdio.h>void InsertionSort(int arr[], int n){ if(n<=1) return; InsertionSort(arr, n-1); int temp = arr[n-1]; int in = n-2; while(in>=0 && arr[in]>temp) { arr[in+1] = arr[in]; in--; } arr[in+1] = temp; }int main(){ int size; printf("Enter the size of the array:"); scanf("%d",&size); int arr[size],i; printf("Enter the element of the array:"); for(i=0;i<size;i++) scanf("%d",&arr[i]);
printf("Before Sorting Array Element are: "); for(i=0;i<size;i++) printf("%d ",arr[i]); InsertionSort(arr, size); printf("\nAfter Sorting Array Element are: "); for(i=0;i<size;i++) printf("%d ",arr[i]);}
Enter the size of the array:5
Enter the element of the array:7 8 9 3 6
Before Sorting Array Element are: 7 8 9 3 6
After Sorting Array Element are: 3 6 7 8 9
Program in C++
Here is the source code of the C++ Program to Implement Insertion sort using recursion.
Code:
#include<iostream>
using namespace std;
void InsertionSort(int arr[], int n)
{
if(n<=1)
return;
InsertionSort(arr, n-1);
int temp = arr[n-1];
int in = n-2;
while(in>=0 && arr[in]>temp)
{
arr[in+1] = arr[in];
in--;
}
arr[in+1] = temp;
}
int main()
{
int size;
cout<<"Enter the size of the array:";
cin>>size;
int arr[size],i;
cout<<"Enter the element of the array:";
for(i=0;i<size;i++)
cin>>arr[i];
cout<<"Before Sorting Array Element are:";
for(i=0;i<size;i++)
cout<<arr[i]<<" ";
InsertionSort(arr, size);
cout<<"\nAfter Sorting Array Element are: ";
for(i=0;i<size;i++)
cout<<arr[i]<<" ";
}
Enter the size of the array:6
Enter the element of the array:11 2 5 33 6 7
Before Sorting Array Element are:11 2 5 33 6 7
After Sorting Array Element are: 2 5 6 7 11 33
Program in Java
Here is the source code of the Java Program to Implement Insertion sort using recursion.
Code:
import java.util.Scanner;
public class InsertionSortArray {
static void InsertionSort(int arr[], int n)
{
if(n<=1)
return;
InsertionSort(arr, n-1);
int temp = arr[n-1];
int in = n-2;
while(in>=0 && arr[in]>temp)
{
arr[in+1] = arr[in];
in--;
}
arr[in+1] = temp;
}
public static void main(String[] args) {
Scanner cs=new Scanner(System.in);
int n,i;
System.out.println("Enter your Array Size:");
n=cs.nextInt();
int arr[]=new int[n];
System.out.println("Enter the Array Element:");
for(i=0;i<n;i++)
{
arr[i]=cs.nextInt();
}
System.out.print("Before Sorting Array Element are: ");
for(i=0;i<n;i++)
System.out.print(arr[i]+" ");
InsertionSort(arr, n);
System.out.print("\nAfter Sorting Array Element are: ");
for(i=0;i<n;i++)
System.out.print(arr[i]+" ");
cs.close();
}
}
Enter your Array Size:
4
Enter the Array Element:
3 9 5 6
Before Sorting Array Element are: 3 9 5 6
After Sorting Array Element are: 3 5 6 9
Program in Python
Here is the source code of the Python program to Implement Insertion sort using recursion.
Code:
def InsertionSort(arr,n):
if(n<=1):
return
InsertionSort(arr, n-1)
temp = arr[n - 1]
i = n - 2
while (i >= 0 and arr[i] > temp):
arr[ i +1] = arr[ i]
i=i-1
arr[i+1] = temp
arr=[]
n = int(input("Enter the size of the array: "))
print("Enter the Element of the array:")
for i in range(0,n):
num = int(input())
arr.append(num)
print("Before Sorting Array Element are: ",arr)
InsertionSort(arr, n)
print("After Sorting Array Elements are:",arr)
Enter the size of the array: 3
Enter the Element of the array:
4
7
3
Before Sorting Array Element are: [4, 7, 3]
After Sorting Array Elements are: [3, 4, 7]
0 Comments
Please do not Enter any spam link in the comment box