俩个递增有序单链表的合并算法(含头结点)

Posted cxydnxs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了俩个递增有序单链表的合并算法(含头结点)相关的知识,希望对你有一定的参考价值。

void  merge(LNode *A,LNode *B,LNode *&C)    //此处C指针为引用型

  

         LNode *p=A->next;

         LNode  *q=B->next;

         LNode  *r;     //r是尾指针

         C=A;

         C->next=NULL;

          r=C;

          free(B);       //释放B的头结点

          While(p!=NULL&&q!=NULL)

         

              if(p->data<=q->data)

                 

                    r->next=p;

                    p->next=p;

                     r->next=r;

               

                else

               

                  r->next=q;

                  q->next=q;

                  r->next=r;

                 

                 if(p!=NULL)

                    r->next=p;

                 if(q!=NULL)

                     r->next=q;

             

以上是关于俩个递增有序单链表的合并算法(含头结点)的主要内容,如果未能解决你的问题,请参考以下文章

C语言单链表合并

链表习题-有一个带头结点的单链表,编写算法使其元素递增有序

单链表的合并

线性表练习之Example045-有一个带头结点的单链表 L,设计一个算法使其元素递增有序

链表的相关算法及应用

7. 在一个不含头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行 。