Complete c program of Shell Sort Using Knuth Increments
#include<stdio.h>
#define MAX 100
main()
{
int arr[MAX],i,j,k,n,incr;
printf("Enter the number of elements : ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Enter element %d : ",i+1);
scanf("%d",&arr[i]);
}
incr=1;
while(incr<=(n-1)/9)
incr=3*incr+1;
while(incr>=1)
{
for(i=incr; i<n; i++)
{
k=arr[i];
for(j=i-incr; j>=0 && k<arr[j]; j=j-incr)
arr[j+incr]=arr[j];
arr[j+incr]=k;
}
incr=incr/3;
}
printf("Sorted list is :\n");
for(i=0; i<n; i++)
printf("%d ", arr[i]);
printf("\n");
}