3_2つのチェーンテーブルの結合、重複ノードの除去


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;
}