1.insertion sort
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 20
void main()
{
int i,j,temp, a[N];
srand((unsigned)time(0));
puts("this is the 20 numbers,");
for( i = 0; i < N; i++)
{
a[i] = rand()%100;
printf("%4d\t",a[i]);
}
puts("this is the end");
for( i = 1; i < N; i++)
{
temp = a[i];
for( j = i-1; j >= 0; j--)
{
if(temp < a[j])
{
a[j+1] = a[j];
}
else
break;
}
//这里为什么没有放在break上面,是因为当temp要放在第一位的时候,这一句不一定被执行
a[j+1]=temp;
}
for(i = 0; i < N; i++)
printf("%4d\t",a[i]);
}