/*
* A library of sorting functions
*
* Written by: Ariel Faigon, 1987
*/
#include <stdio.h>
#include "sort.h"
/*-------------------------------------------------------------------
* This file shouldn't be touched.
* For customizable parameters, see 'sort.h'
*-----------------------------------------------------------------*/
/*
| void insort (array, len)
| KEY_T array[];
| int len;
|
| Abstract: Sort array[0..len-1] into increasing order.
|
| Method: Optimized insertion-sort (ala Jon Bentley)
*/
void insort (register KEY_T array[], register int len)
{
register int i, j;
register KEY_T temp;
for (i = 1; i < len; i++) {
/* invariant: array[0..i-1] is sorted */
j = i;
/* customization bug: SWAP is not used here */
temp = array[j];
while (j > 0 && GT(array[j-1], temp)) {
array[j] = array[j-1];
j--;
}
array[j] = temp;
}
}
syntax highlighted by Code2HTML, v. 0.9.1