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