代码从《数据结构C语言版(严蔚敏 吴伟民)》
//InsertSort.h
#ifndef INSERTSORT_H
#define INSERTSORT_H
#include <stdio.h>
#include <stdlib.h>
#endif
//InsertSort.c
#include "InsertSort.h"
void InsertSort( int iArr[], int iSize )
{
if( iSize <= 1 )
return;
int i, j, tmp;
for( i = 1; i < iSize; i++ )
{
tmp = iArr[i];
for( j = i - 1; j > -1 && tmp < iArr[j]; j-- )
{
iArr[j + 1] = iArr[j];
}
iArr[j + 1] = tmp;
}
}
int main( int argc, char* argv[] )
{
int iArr[11] = { 0, 3, 2, 5, 4, 1, 6, 9, 7, 8 };
int size = sizeof(iArr)/sizeof(iArr[0]);
int i = 1;
for( ; i < size; i++ )
{
printf( "%d ", iArr[ i ] );
}
puts( "" );
InsertSort( iArr, size );
for( i = 1; i < size; i++ )
{
printf( "%d ", iArr[ i ] );
}
puts( "" );
return 0;
}