#include #include #include #include "book.h" #include "compare.h" // Modified version of Insertion Sort for varying increments template void inssort2(Elem A[], int n, int incr) { for (int i=incr; i=incr) && (Comp::lt(A[j], A[j-incr])); j-=incr) swap(A, j, j-incr); } template void shellsort(Elem A[], int n) { // Shellsort for (int i=n/2; i>2; i/=2) // For each increment for (int j=0; j(&A[j], n-j, i); inssort2(A, n, 1); } template void sort(Elem* array, int n) { shellsort(array, n); } #include "sortmain.cpp"