1.合并两个有序链表
struct node{int data;struct node* next;
};
node* merge(node*head,node *head1,node *head2)
{node *temp=head;while(head1!=NULL&&head2!=NULL){if(head1->data<head2->data){temp->next=head1;temp=head1;head1=head1->next;}else{temp->next=head2;temp=head2;head2=head2->next;}}while(head1!=NULL){temp->next=head1;temp=head1;head1=head1->next;}while(head2!=NULL){temp->next=head2;temp=head2;head2=head2->next;}return temp;
}
2.合并两个有序数组
int merge(int* arr1,int len1,int* arr2,int len2,int *arr3){int len=len1+len2-1;int i=len1-1;int j=len2-1;while(i>=0&&j>=0){if(arr1[i]>arr2[j]){arr3[len--]=arr1[i--];}else{arr3[len--]=arr2[j--];}}while(i>=0){arr3[len--]=arr1[i--];}while(j>=0){arr3[len--]=arr2[j--];}return 0;
}