shellsort() General Function shellsort() Sort arrays in memory void shellsort(data, n, size, comp) char *data; int n, size; int (*comp)(); shellsort is a generalized algorithm for sorting arrays of data in memory, using D. L. Shell's sorting method. shellsort works with a sequential array of memory called data, which is divided into n parts of size bytes each. In practice, data is usually an array of pointers or structures, and size is the sizeof the pointer or structure. Each routine compares pairs of items and exchanges them as re- quired. The user-supplied routine to which comp points performs the comparison. It is called repeatedly, as follows: (*comp)(p1, p2) char *p1, *p2; Here, p1 and p2 each point to a block of size bytes in the data array. In practice, they are usually pointers to pointers or pointers to structures. The comparison routine must return a negative, zero, or positive result, depending on whether p1 is less than, equal to, or greater than p2, respectively. ***** Example ***** For an example of how to use this routine, see the entry for string. ***** See Also ***** ctype, general functions, qsort() The Art of Computer Programming, vol. 3, pp. 84ff, 114ff ***** Notes ***** shellsort differs from the sort function qsort in that it uses an iterative algorithm that does not require much stack. COHERENT Lexicon Page 1