作业函数题

void Attach(int c,int e,Polynomial *pRear)
{
Polynomial P;
P=(Polynomial)malloc(sizeof(struct PolyNode));
P->coef=c;
P->expon=e;
P->link=NULL;
(*pRear)->link=P;
*pRear=P;
}

List Merge( List L1&&, List L2 )
{
PtrToNode Front ,temp,Print_node;
int compare;
Print_node=(Polynomial)malloc(sizeof(struct PolyNode));
Front=Print_node;
while(L1&&L2)
{
if(L1->Data>L2->Data)
{
Attach(L1->Data,L1->Next,&Print_node);
L1=L1->Next;

}else if(L1->Data<L2->Data)
{
Attach(L2->Data,L2->Next,&Print_node);
L2=L2->Next;
}else if(L1->Data==L2->Data)
{
Attach(L2->Data,L2->Next,&Print_node);
L2=L2->Next;
L1=L1->Next;
}

}
for(;L1;L1=L1->Next) Attach(L1->Data,L1->Next, &Print_node);
for(;L2;L2=L2->Next) Attach(L2->Data,L2->Next, &Print_node);
Print_node->link=NULL;
temp=front;
front=front->link;
free(temp);
return front;

}

posted @ 2019-01-21 15:24  my_everything  阅读(91)  评论(0编辑  收藏  举报