// Shell sort algorithm for MAX elements // in a Monitored array, a. // Diminishing increment sort (Reingold&Hansen) #include #include "array.h" extern MArray a; void swap (int,int); void shell (int n) { int delta, j,k; delta = n/2; while (delta>=1) { j = delta - 1; while (j=0) if (a[k]>a[k+delta]) { swap (k, k+delta); k = k - delta; } else k = -1; } delta = delta / 2; } }