void mergeList(Node *lista, Node *listb, Node *&listc) {
Node *pa = lista->next;
Node *pb = listb->next;
Node *pc = listc = lista;
while (pa->next != lista && pb->next != listb) {
if (pa->data <= pb->data) {
pc->next = pa;
pc = pa;
pa = pa->next;
} else {
pc->next = pb;
pc = pb;
pb = pb->next;
}
}
pc->next = lista;
if (pa->next != lista) {
pc->next = pa;
while (pa->next != lista) {
pa = pa->next;
}
pa->next = listc;
} else {
pc->next = pb;
while (pb->next != listb) {
pb = pb->next;
}
pb->next = listc;
}
我想写一个合并两个循环链表的函数,但是调试后发现两个链表中的第一个数据都不能被合并,而且如果有两个一样的数据也只会记录一个,与我的预期不符