倆個遞增有序單鏈表的合並算法(含頭結點)


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;

             }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM