/*
* szlInsertSort.h
*/
#ifndef SZL_INSERTSORT_H
#define SZL_INSERTSORT_H
/*
* 将长度为n的数组a进行插入排序
*/
void insertSort(int a[], int n);
#endif
/* szlInsertSort.c
* 插入排序:首先认为第一个元素作为一个整体是排好序的;
* 第1步:将第2个元素插入到已经排好序的第1个元素组成的数组中;
* 第2步:将第3个元素插入到已经排好序的由第1个及第2个元素组成的数组中;
* ...
* 第n-1步:将第n个元素插入到由前面n-1个元素组成的数组中去。
*
*/
#include <stdlib.h>
#include <stdio.h>
#define N 20
void insertionsort(int a[], int n){
int i, j, t;
for(i=1; i<=n-1; i++){
t = a[i];
j = i;
while (j>0 && t<a[j-1]){
a[j] = a[j-1];
j--;
}
a[j] = t;
}
}