template
void ShellSort(T arr[],int n) {
int i,index;
int interval=n/2;
while(interval>0) {
for(i=0; i<n-interval; i++) {
for(index=i; index+interval<n; index+=interval) {
if(arr[index]>arr[index+interval]) {
swap(arr[index],arr[index+interval]);
}
}
}
interval/=2;
}
}