#include <stdio.h>
#include <string.h>
#include <time.h>
#define BUFFER_SIZE 10
void InsertionSort(int *a,int len)
{
int i=0;
int j=0;
int b[len];
b[0]=a[0];
for(j=1;j<len;j++)
{
i=j-1;
while(i>=0&&b[i]>=a[j])//非降序排列
{
b[i+1]=b[i];
i--;
}
b[i+1]=a[j];
}
for(i=0;i<len;i++)
{
a[i]=b[i];
}
}
void Output(int *a,int len)
{
int i=0;
for(i=0;i<len;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
int main()
{
int i=0;
int a[BUFFER_SIZE];
memset(a,0,sizeof(a));
srand((unsigned)time(NULL));
for(i=0;i<BUFFER_SIZE;i++)
{
a[i]=rand()%BUFFER_SIZE;
}
Output(a,BUFFER_SIZE);
InsertionSort(a,BUFFER_SIZE);
Output(a,BUFFER_SIZE);
system("pause");
}
第二章之“插入排序”
最新推荐文章于 2012-05-04 22:16:13 发布