直接插入排序的基本操作就是逐个处理待排序列中的记录,将其与前面已排好序的子序中记录进行比较,确定要插入的位置,并将其记录插入到自序中。
void insertsort(RECNODE *r,int n)
{
int i,j;
for(i=2;i<=n;i++)
{
r[0]=r[i];
j=i-1;
while(r[0].key<r[j].key)
{
r[j+1]=r[j];
j--;
}
r[j+1]=r[0];
}
}
直接插入排序的基本操作就是逐个处理待排序列中的记录,将其与前面已排好序的子序中记录进行比较,确定要插入的位置,并将其记录插入到自序中。
void insertsort(RECNODE *r,int n)
{
int i,j;
for(i=2;i<=n;i++)
{
r[0]=r[i];
j=i-1;
while(r[0].key<r[j].key)
{
r[j+1]=r[j];
j--;
}
r[j+1]=r[0];
}
}