// Shell sort algorithm for n elements // in a Monitored array, a. // Diminishing increment sort (Knuth) #include #include "array.h" extern MArray a; void swap (int,int); void shell (int n) { int h, j, i, t; h = n/2; // increment while (h>=1) { for (j=h; j=0 && t<=a[i]) { a[i+h] = a[i]; i = i-h; } a[i+h] = t; } h = h/2; } }