递归实现合并两个有序链表成一个链表依然有序
2011-02-12 10:22
519 查看
Node * MergeRecursive(Node *head1 , Node *head2)
{
if ( head1 == NULL )
return head2 ;
if ( head2 == NULL)
return head1 ;
Node *head = NULL ;
if ( head1->data < head2->data )
{
head = head1 ;
head->next = MergeRecursive(head1->next,head2);
}
else
{
head = head2 ;
head->next = MergeRecursive(head1,head2->next);
}
return head ;
}
{
if ( head1 == NULL )
return head2 ;
if ( head2 == NULL)
return head1 ;
Node *head = NULL ;
if ( head1->data < head2->data )
{
head = head1 ;
head->next = MergeRecursive(head1->next,head2);
}
else
{
head = head2 ;
head->next = MergeRecursive(head1,head2->next);
}
return head ;
}
相关文章推荐
- 链表操作(将两个链表合并成一个链表依然有序,非递归方法和迭代方法)
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序,要求用递归方法进行。
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序,要求用递归方法进行。
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。使用非递归方法以及递归方法。
- 探讨:将两个链表非降序合并为一个链表并依然有序的实现方法
- 用递归方法实现两个链表head1和head2各自有序,请把它们合并成一个链表仍然有序。(c/c++)
- 将两个递增的有序链表合并为一个递增的有序链表(C语言编程实现)
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序
- 合并两个有序的链表使新链表依然有序(不开辟新空间,在原链表上操作。 递归版本)
- 将两个非递减的有序链表合并为一个非递增的有序链表(C语言编程实现)
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序
- 链表的基本操作(创建,查找指定位置元素,删除指定元素,插入,倒置,去重,求集合的差,分别交换结点与交换结点值实现的冒泡排序,将两个有序链表合并成一个有序链表)c语言实现
- 递归实现合并两个有序链表
- 面试题17:合并两个有序链表,递归和非递归实现
- 将两个递增的有序链表合并为一个递增的有序链表(C语言编程实现)
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)
- 合并两个有序链表,递归实现
- 递归实现两个有序链表的合并
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)