Do recursion and after that insert the value.
/*
* Helper function, Insert val at proper position
*/
void insert(int a[], int n, int val)
{
int i;
for(i=n-1; i >= 0 && a[i] < val; i--)
a[i+1] = a[i];
a[i+1] = val;
}
/*
* Recursive version of Insertion Sort
*/
void insertRsort(int a[], int n)
{
if(n>0) {
insertRsort(a, n-1);
insert(a, n, a[n]);
}
}
/*
* Helper function, Insert val at proper position
*/
void insert(int a[], int n, int val)
{
int i;
for(i=n-1; i >= 0 && a[i] < val; i--)
a[i+1] = a[i];
a[i+1] = val;
}
/*
* Recursive version of Insertion Sort
*/
void insertRsort(int a[], int n)
{
if(n>0) {
insertRsort(a, n-1);
insert(a, n, a[n]);
}
}
No comments:
Post a Comment