网友您好, 请在下方输入框内输入要搜索的题目:
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
函数diff的功能是:根据两个由整数(都大于-32768)按升序构成的单链表L1和L2(分别由A,B指向)构造一个单链表L3(由*r指向),要求13中的所有整数都是L1,并且不是 L2中的整数,还要求L3中的所有整数都两两不等。
【函数】
include < malloc. h >
typedef struct node {
int d;
struct node * next
} Node;
void diff(Node *A,Node * B,Node * * r)
{
int lastnum;
Node * p;
*r = NULL;
if( ! A) return;
while((1))
if(A->d < B ->d)
{
lastnum =A -> d;
p= ( Node * ) malloc( sizeof(Node) );
p->d = lastnum;
p->next= *r;(2);
do
A = A -> next;
while((3));
}
else if(A->d > B->d)
B=B- >next;
else {
(4);
lastnum=A -> d;
while ( A && A->d = = lastnum) A=A-> next;
}
while(A)
{
lastnum=A->d;
p=( Node * ) malloc( sizeof(Node) );
p-> d = lastnum;
(5);
*r=p;
while (A && A->d = = lastnum) A=A->next;
}
}
参考答案
更多 “ 阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】函数diff的功能是:根据两个由整数(都大于-32768)按升序构成的单链表L1和L2(分别由A,B指向)构造一个单链表L3(由*r指向),要求13中的所有整数都是L1,并且不是 L2中的整数,还要求L3中的所有整数都两两不等。【函数】include < malloc. h >typedef struct node {int d;struct node * next} Node;void diff(Node *A,Node * B,Node * * r){int lastnum;Node * p;*r = NULL;if( ! A) return;while((1))if(A->d < B ->d){lastnum =A -> d;p= ( Node * ) malloc( sizeof(Node) );p->d = lastnum;p->next= *r;(2);doA = A -> next;while((3));}else if(A->d > B->d)B=B- >next;else {(4);lastnum=A -> d;while ( A A->d = = lastnum) A=A-> next;}while(A){lastnum=A->d;p=( Node * ) malloc( sizeof(Node) );p-> d = lastnum;(5);*r=p;while (A A->d = = lastnum) A=A->next;}} ” 相关考题
![瑞牛题库 章节练习 历年真题 模拟试卷](http://assets.51tk.com/51_sidebar_right_index.jpg)