currycool
currycool
采纳率0%
2017-04-20 13:03

数据结构两个有序链表合并为一个有序链表

函数部分如下:
node* combine(node* a,node* b)
{
node *p=a,*q=b,*pre,*head;
if(p->info>=q->info)
head=p;
else
head=q;
pre=head;
while( p!=NULL && q!=NULL )
{
if(p->info >= q->info)
{
pre->next=p;
pre=p;
p=p->next;
}
else
{
pre->next=q;
pre=q;
q=q->next;
}
}
while(p!=NULL)
{
pre->next=p;
pre=p;
p=p->next;
}
while(q!=NULL)
{
pre->next=q;
pre=q;
q=q->next;
}
return head;
}
可是什么也不显示,运行结果如下图片说明,上面的是其他功能的函数

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • lixiaogang_theanswer 君子黎 4年前

    楼主可以参考下面我写的将两个链表连接的函数

     /****实现将两个带头节点的单向链表a,b连接****/
    void LinkTwoNode(SeqList *a,SeqList *b)
        {
          SeqList *mPtr = NULL;
          for (mPtr = a;mPtr->next != NULL;mPtr = mPtr->next);
          ;
          mPtr->next = b->next;
          free(b);
          b = NULL;
        }
    
    点赞 1 评论 复制链接分享
  • currycool currycool 4年前

    其他函数补图图片说明

    点赞 评论 复制链接分享

相关推荐