兩個有序鏈表序列的合并

摘要: 你這個合并方法是不正確的,我看你的程序執行的只是比較兩個鏈表對應序號的節點,大的就放到c鏈表里,兩個鏈表里的很多節點給漏掉了,并沒有真正實現兩個鏈表的合并.修改后如下: void...

你這個合并方法是不正確的,我看你的程序執行的只是比較兩個鏈表對應序號的節點,大的就放到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; }我怎么調試呀,好多東西都沒定義,我又不清楚你定義的數據結構.你要不把題目全發給我,我給你看.