
代码部分:
#include<stdio.h>
#include<string.h>
#define N 3
struct stu
{
int num;char name[7];struct stu *next;}a[N],b[N];
int main()
{
void del(struct stu **head1,struct stu **head2);struct stu a[N]={{2,"t"},{4,"t"},{5,"t"}};struct stu b[N]={{1,"t"},{4,"t"},{5,"t"}};struct stu *head1,*head2,*p1;int i;head1=a;head2=b;for(p1=head1,i=1;i<=N;i++){if(i<N)p1->next=a+i;else p1->next=NULL;printf("%d,%s\n",p1->num,p1->name);if(i<N)p1=p1->next;}p1->next=NULL;for(p1=head2,i=1;i<=N;i++){if(i<N)p1->next=b+i;else p1->next=NULL;printf("%d,%s\n",p1->num,p1->name);if(i<N)p1=p1->next;}p1->next=NULL;del(&head1,&head2);return 0;}
void del(struct stu **head1,struct stu **head2)
{
struct stu *p,*i,*j;for(i=*head1;i!=NULL;p=i,i=i->next)for(j=*head2;j!=NULL;j=j->next){if(i==*head1&&i->num==j->num){*head1=(*head1)->next;break;}if(i!=NULL&&i->num==j->num){p->next=i->next;break; }}
p=*head1;
printf("the new:\n");
while(p!=NULL)
{
printf("%d,%s\n",p->num,p->name);
p=p->next;
}
}