作业帮 > 综合 > 作业

对下列关键字序列(15,4,38,51,9,17,80,2)进行直接插入排序?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/02 00:56:00
对下列关键字序列(15,4,38,51,9,17,80,2)进行直接插入排序?
要用C语言代码的
给的分不多 请帮个忙啦~
void InsertSort(S_TBL &p)
{
for(i=2;ilength;i++)
if(p->elem[i].key < p->elem[i-1].key)
{ p->elem[0].key=p->elem[i].key;
for(j=i-1;p->elem[0].key < p->elem[j].key;j--)
p->elem[j+1].key=p->elem[j].key;
p->elem[j+1].key=p->elem[0].key;
}
}
谁会的请调试一下这程序
好象不能运行
#include
int main()
{
int a[] = {15,4,38,51,9,17,80,2};
for(int i = 1; i < 8; ++i)
{
int key = a[i];
int j = i - 1;
for(; j >= 0 && key < a[j]; --j)
a[j+1] = a[j];
a[j+1] = key;
}
for(int i = 0; i < 8; ++i)
printf("%d ",a[i]);
}