Я пытаюсь объединить два дважды связанных списка. Я уже создал функцию, которая вставляет новый узел и в правильном порядке. Параметры установлены моим профессором, поэтому я не могу их изменить. Я могу добавить первый элемент в List1, но не могу добавить больше.
Я получаю ошибки при попытке продолжить просмотр списка List2 и добавить дополнительные элементы в список List1. Я пробовал рекурсию и цикл do while. При попытке использовать цикл do-while
struct nodeType{
int info;
nodeType *next;
nodeType *back;
};
class OrderedDoublyLinkedList{
public:
//Insert x in appropriate place in the list to keep it
sorted
void insertNode(int x);
void mergeLists(OrderedDoublyLinkedList &List1,
OrderedDoublyLinkedList &List2);
private:
int count;
nodeType *first;
nodeType *last;
};
void
OrderedDoublyLinkedList::mergeLists(OrderedDoublyLinkedList
&List1, OrderedDoublyLinkedList &List2){
//First Technique
do{
List1.insertNode(List2.first->info);
List2.first->next; //Error: Expresion result unused
}
while(List2.first!=NULL)
//Second Technique
while(List2.first!=NULL)
List1.insertNode(List2.first->info);
mergeLists(&List1, &List2.first->next);
//If I try to use this it says cannot bind to a temporary of
type
Мне нужна помощь при доступе к следующему узлу, чтобы добавить остальную информацию в List1.