65,210
社区成员
发帖
与我相关
我的任务
分享
Node* mergeAction(Node* head1, Node* head2){//两个链表的合并操作
Node* head=(Node*)malloc(sizeof(Node));
Node* q=head;
while(head1 && head2){
if(head1->data<=head2->data){
Node* p=(Node*)malloc(sizeof(Node));
p->data=head1->data;
p->next=NULL;
q->next=p;
q=q->next;
head1=head1->next;
}
else if(head1->data > head2->data){
Node* p=(Node*)malloc(sizeof(Node));
p->data=head2->data;
p->next=NULL;
q->next=p;
q=q->next;
head2=head2->next;
}
}
return head->next;
}
Node* mergAction(Node* head1,Node *head2)
{
Node *p=NULL;
if(head1==NULL&&head2==NULL)
return p;
else if(head1==NULL)
return head2;
else if(head2==NULL)
return head1;
else
{
if(head1->data < head2->data)
{
p = head1;
p->next = mergAction(head1->next,head2);
}
else
{
p = head2;
p->next = mergAction(head1,head2->next);
}
return p;
}
}