Shell Sort
public class ShellDemo {
public static void main(String[] args) {
int[] a = new int[]{43, 28, 35, 84, 1};
int t, k, n = a.length;
System.out.println("Target array is :");
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" , ");
}
for (int i = n / 2; i > 0; i /= 2) {
for (int j = i; j < n; j++) {
t = a[j];
for (k = j; k >= i; k -= i) {
if (t < a[k - i]) {
a[k] = a[k - i];
} else {
break;
}
}
a[k] = t;
}
}
System.out.println("
");
System.out.println("Sorted array is:");
for (int i = 0; i < 5; i++) {
System.out.print(a[i]+" , ");
}
}
}
Output:
Target array is :
43 , 28 , 35 , 84 , 1 ,
Sorted array is:
1 , 28 , 35 , 43 , 84 ,