导读 你这个合并方法是不正确的,我看你的程序执行的只是比较两个链表对应序号的节点,大的就放到c链表里,两个链表里的很多节点给漏掉了,并没有真...
你这个合并方法是不正确的,我看你的程序执行的只是比较两个链表对应序号的节点,大的就放到c链表里,两个链表里的很多节点给漏掉了,并没有真正实现两个链表的合并.修改后如下: void Chain
::Merge(Chain&A,Chain&B,Chain&C) { ChainNode*p,*q,*t; p=A.first;q=B.first; if(A.first->data>=B.first->data) t=C.first=A.first; else t=C.first=B.first; while(p!=NULL&&q!=NULL) { if(p->data>=q->data) { t=p; p=p->link; t=t->link;} else { t=q; q=q->link; t=t->link;} } while(p==NULL&&q!=NULL) { t=q; q=q->link; t=t->link; } while(q==NULL&&p!=NULL) { t=p; p=p->link; t=t->link; } t->link=NULL; }我怎么调试呀,好多东西都没定义,我又不清楚你定义的数据结构.你要不把题目全发给我,我给你看.