直接插入排序

来源:互联网 发布:db2常用sql语句 编辑:程序博客网 时间:2024/06/08 03:11
/*2014年3月12日*****//*直接插入排序******/#include "stdio.h"#include"stdlib.h"#include"time.h"void StraightInsetionSort();#define M  10int a[M],b,i,j;void main(){srand((int)time(NULL));printf("随机生成10个0-9的整数: \n");for(i=1;i<=M;i++){    a[i]=rand()/3276;        printf("%d,",a[i]);}printf("\n\n");printf("直接插入排序后: \n");StraightInsetionSort();for(i=1;i<=M;i++)  printf("a[%d]=%d\n",i,a[i]);}void StraightInsetionSort()//直接插入排序{for(i=2;i<=M;++i)if(a[i]<a[i-1]){a[0]=a[i];     //复制为哨兵a[i]=a[i-1];for(j=i-2;a[0]<a[j];--j)a[j+1]=a[j];//记录后移    a[j+1]=a[0];//插入到正确位置}}
运行结果:
0 0