#include<stdio.h>
#include<conio.h>
void shell_sort(int[], int);
int main()
{
int arr[50] , n , i ;
clrscr();
printf("Enter number of elements : ");
scanf("%d", &n);
for( i=0 ; i<n ; i++ )
{
arr[i] = rand()%32767 ;
}
printf("Array elements before sort : \n");
for( i=0 ; i<n ; i++ )
{
printf("%d\t",arr[i]);
}
printf("\n\n");
shell_sort(arr, n) ;
printf("Array elements after sort : \n");
for( i=0 ; i<n ; i++ )
{
printf("%d\t", arr[i]);
}
printf("\n\n");
return 0;
}
void shell_sort(int arr[] , int n)
{
int i, j, k, temp ;
for(i=n/2; i>0; i=i/2)
{
for(j=i; j<n; j++)
{
for(k=j-i; k>=0; k=k-i)
{
if(arr[k+i]>=arr[k])
break;
else
{
temp=arr[k];
arr[k]=arr[k+i];
arr[k+i]=temp;
}
}
}
}
}
No Comments