3_2つのチェーンテーブルの結合、重複ノードの除去
929 ワード
struct student{
int num;
struct student *pnext;
};
// , ,
// ,
Stu *mergeTwoList(Stu *head,Stu *head1){
Stu *last=head->pnext;
Stu *head1_end=head1->pnext;
Stu *last1=head1->pnext;
Stu *head_pre=head->pnext;// last
int flag=0;//
while (head1_end->pnext!=NULL)
{
head1_end=head1_end->pnext;// head1
}
while (last!=NULL)
{
last1=head1->pnext;// ,
while (last1!=NULL)
{
if (last->num==last1->num)
{
flag=-1;
break;
}
last1=last1->pnext;
}
if (flag==0)// ,
{
head_pre->pnext=last->pnext;
head1_end->pnext=last;
head1_end=head1->pnext;// ,
last->pnext=NULL;//
}
head_pre=last;// head
last=last->pnext;
}
return head1;
}