两个有序链表的合并(递归)

该博客介绍了如何使用递归方法将两个无序链表进行排序并合并,提供了详细的代码实现链接。
摘要由CSDN通过智能技术生成

题目:两个无序链表的合并先各自排序,然后合并

详细代码请参考:https://github.com/Sangewang/LinkListPrac/blob/master/CreateAndShowLinklist.c

void LinkListBubbleSort(LinkNode *pHead,int len)
{
   if(NULL == pHead)
   {
     return;
   }
   int i,j=0;
   for(i=0;i<len-1;i++)
   {
      LinkNode *pTemp = pHead;
      for(j=0;j<len-i-1;j++)
      {
        if(pTemp->m_Value > pTemp->p_Next->m_Value)
        {
          int temp = pTemp->m_Value;
          pTemp->m_Value = pTemp->p_Next->m_Value;
          pTemp->p_Next->m_Value = temp;
        }
        pTemp = pTemp->p_Next;
      }
   }
}

LinkNode * MergeLinkList(LinkNode *pHead1,LinkNode * pHead2)
{
  if(NULL==pHead1)  return pHead2;
  if(NULL==pHead2)  return pHead1;
  LinkNode * pMergeHead = NULL;
  if(pHead1->m_Value < pHead2->m_Value)
  {
    pMergeHead = pHead1;
    pMergeHead->p_Next = MergeLinkList(pHead1->p_Next,pHead2);
  }
  else
  {
    pMergeHead = pHead2;
    pMergeHead->p_Next = MergeLinkList(pHead1,pHead2->p_Next);
  }
  return pMergeHead;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值