C语言编程 填空题

函数HeapSort与HeapCreat实现堆排序操作,请在空格处将算法补充完整。typedefstructlist{inta[MAXSIZE];intlength;}S... 函数HeapSort与HeapCreat实现堆排序操作,请在空格处将算法补充完整。
typedef struct list{
int a[MAXSIZE];
int length;
} SqList;
void HeapCreat(SqList *s, int i, int length){
int j=2*i+1;
int temp;
while(j < length){
if(j+1<length && s->a[j]<s->a[j+1]){
_____________________________ ;
}
if(s->a[i] < s->a[j]){
temp=s->a[i];
s->a[i]=s->a[j];
s->a[j]=temp;
___________________ ;
__________________ ;
}
else{
______________________ ;
}
}
}
void HeapSort(SqList *s){
int i,temp;
for(i=s->length/2-1;i>=0;i--){
_________________ ;
}
for(i=s->length-1;i>0;i--){
temp=s->a[i];
_________________ ;
___________________ ;
___________________ ;
}
}
展开
 我来答
yang631144
2019-07-01 · TA获得超过552个赞
知道小有建树答主
回答量:618
采纳率:42%
帮助的人:160万
展开全部
void HeapCreat(SqList *s, int i, int length){
int j=2*i+1;
int temp;
while(j < length){
if(j+1<length && s->a[j]<s->a[j+1]){
j++;
}
if(s->a[i] < s->a[j]){
temp=s->a[i];
s->a[i]=s->a[j];
s->a[j]=temp;
i=j ;
j=2*i+1;
}
else{
return;
}
}
}
void HeapSort(SqList *s){
int i,temp;
for(i=s->length/2-1;i>=0;i--){
HeapCreat(s,i,len-1);
}
for(i=s->length-1;i>0;i--){
temp=s->a[i];
s->a[i]=s->a[0];
s->a[0]=temp;
HeapCreat(s,0,i-1);
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式