Shell Sort Program in C

Previous
Next
#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;
				}
			}
		}
	}
}
Previous
Next

Add Comment

Courses Enquiry Form