#include <stdio.h>
#include <string.h>
#include<stdlib.h>
#define BUFFER_SIZE 10
void InsertionSort(int *a,int len)
{
int i=0;
int j=0;
int *b;
b = (int *) malloc(sizeof(int) *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));
for(i=0;i<BUFFER_SIZE;i++)
{
a[i]=rand()%BUFFER_SIZE;
}
Output(a,BUFFER_SIZE);
InsertionSort(a,BUFFER_SIZE);
Output(a,BUFFER_SIZE);
return 0;
}
#include <string.h>
#include<stdlib.h>
#define BUFFER_SIZE 10
void InsertionSort(int *a,int len)
{
int i=0;
int j=0;
int *b;
b = (int *) malloc(sizeof(int) *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));
for(i=0;i<BUFFER_SIZE;i++)
{
a[i]=rand()%BUFFER_SIZE;
}
Output(a,BUFFER_SIZE);
InsertionSort(a,BUFFER_SIZE);
Output(a,BUFFER_SIZE);
return 0;
}