两个链表进行比较,删除其中一个链表与另一个的相同节点时,要怎样写控制条件????
Student *complare(Student *a,Student *b){
Student *p1,*p2,*q;
p1=p2=a;q=b;
while(p1==a)
{
for(int tq=t;t>=0&&tq>=0;t--)//t是每个链表输入的数据个数
if(p1->num==q->num)
{
a=p1->next;
p1=p2=a;
q=b;
}
else if(t==0||tq==0)
break;
else
{q=q->next;tq-=1;}
p2->next=p1->next;
p1=p2->next;
}
//p1和p2指向不同后的比较
int min=t;//min是全局变量
for(;t>=0;t-=1)
for(int tq=m;min>=0&&tq>=0;)
{
if(p1->num==q->num)
{
p2->next=p1->next;
p1=p2->next;
q=b;
tq=m;
min--;
}
else
{q=q->next;tq--;}
if(min==0&&p1->num==q->num)
p2->next=NULL;
}
return a;//删除a中的相同节点,并返回a
/*求大神看看我的控制条件有什么问题*/
}