#include <stdio.h> /** **/ void insertSort(int a[],int n){ int i,j,k; for(i=1;i<=n;i++){//待排序的数据 k = a[i];//取出一个数据来排序 for(j=i-1;j>=0&&k<a[j];j--){ a[j+1]=a[j];//移动的条件:待排序的数据小于已排序的最大数据,即a[i-1],也即a[j] } j++; a[j]=k;//把待排序的值插入到正确的位置 } } void main(){ int a[] = {1,3,2,5,3,9,10,33,7}; int n = 9; int i ; insertSort(a,n); for(i=0;i<9;i++){ printf("%4d",a[i]); } }