#include <iostream.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>

void shellSort(int arr[], int size);
void main (void)
{
    const 
n = 10;
    
int X[n];

    
randomize();
    for (
int i=0; i<n; i++)
    {
        
X[i] = rand() % 100;
        
cout << X[i] << "\t";
    }

    
shellSort (X, n);

    
cout<< endl;
    for (
i=0; i<n; i++)
        
cout << X[i] << "\t";

    
getch();
}

void shellSort(int arr[], int size)
{
   
int i, index, temp, increment = 3;
   while (
increment > 0)
   {
for (
i=1; i < size; i++)
{
    
temp = arr[i];
    
index = i;
    while ((
index >= increment) && (arr[index-increment] > temp))
         {
    
arr[index] = arr[index - increment];
        
index = index - increment;
    }
    
arr[index] = temp;
}

increment = increment - 2;
   }
}