直接插入法的 原理是 将数组的数字 依次插入到 该数字位置之前的某个位置(之前的数字 已经按照某种大小顺序排列好)
具体的C语言代码:
#include<stdio.h>
#include<windows.h>
int main()
{
int a[] = {49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
int n = 28;
int temp,i,j;
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
for(i=1;i<n;i++)
{
temp = a[i];
for(j = i-1;j>=0 && temp<a[j];j--)
{
a[j+1] = a[j];
}
a[j+1] = temp;
}
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
system("pause");
return 0;
}