插入排序
#include <stdio.h>#define MaxSize 100typedef int KeyType; /*关键字类型*/typedef char ElemType[10]; /*其他数据项类型*/typedef struct { KeyType key; /*关键字域*/ ElemType data; /*其他数据域*/} LineList; /*线性表元素类型*/void InsertSort(LineList R[],int n){ int i,j; LineList tmp; for (i=1;i<n;i++) { tmp=R[i]; j=i-1; while (j>=0 && tmp.key<R[j].key)/*元素后移,以便腾出一个位置插入tmp*/ { R[j+1]=R[j]; j--; } R[j+1]=tmp; /*在j+1位置处插入tmp*/ }}void main(){ LineList R[MaxSize]; KeyType a[]={75,87,68,92,88,61,77,96,80,72}; int n=10,i; for (i=0;i<n;i++) R[i].key=a[i]; printf("排序前:"); for (i=0;i<n;i++) printf("%3d",R[i].key); printf("\n"); InsertSort(R,n); printf("排序后:"); for (i=0;i<n;i++) printf("%3d",R[i].key); printf("\n");}