Я создаю функцию, которая не рекурсивно объединяет 2 связанных списка (предположим, что списки отсортированы) в один отсортированный связанный список.
Я попытался выяснить, действительно ли все буквы входят в функцию и они есть, я также знаю, что по крайней мере, когда оба списка не равны нулю, он выбирает правильные буквы
Node *newTop, *curr;
if(top1->data < top2->data){
newTop = createNode(top1->data);
top1 = top1->next;
}else{
newTop = createNode(top2->data);
top2 = top2->next;
}
curr = newTop;
while(top1 != NULL && top2 != NULL){
if(top1->data < top2->data){
curr->next = createNode(top1->data);
curr = curr->next;
top1 = top1->next;
}else{
curr->next = createNode(top2->data);
curr = curr->next;
top2 = top2->next;
}
}
if(top1 != NULL){
while(top1 != NULL){
curr->next = createNode(top1->data);
curr = curr->next;
top1 = top1->next;
}
}else{
while(top2 != NULL){
curr->next = createNode(top2->data);
curr = curr->next;
top2 = top2->next;
}
}
return newTop;
}
Введенные списки содержат буквы для следующих
list1: hello
list2: wordswithoutspace
они не отсортированы, но текущая проблема заключается в том, что не отображаются все буквы.
ожидаемый результат: hellowwordswithoutspaces
фактический объем производства: heo
Почему это происходит?