假设学生成绩按学号增序存储在带头结点的单链表中,类型定义如下:
typedef struct Node{
int id; /*学号*/
int score; /*成绩*/
srruct Node*next;
}LNode,*LinkList;
阅读算法f31,并回答问题:
(1)设结点结构为
,成绩链表A和B如图所示,画出执行算法f31(A,B)后A所指的链表;
(2)简述算法f31的功能。
void f31(LinkList A,LinkList B)
{ LinkList p,q;
p=A—>next;
q=B—>next;
while(p&&q)
{ if(p—>id p=p—>next;
else if(p—>id>q—>id)
q=q—>next;
else
{ if(p—>score<60)
if(q—>score<60)
p—>score=q—>score;
else p—>score=60;
p=p—>next;
q=q—>next;
}
}
}