【说明】
函数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;