对下列关键字序列(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; f
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/08 15:11:56
对下列关键字序列(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; f
对下列关键字序列(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;
}
}
谁会的请调试一下这程序
好象不能运行
对下列关键字序列(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; f
#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]);
}