void intersectionLists(LinkedList argList) {
bool common = false;
ListNode* thisCurrentPointer{headPointer};
ListNode* argCurrentPointer;
cout <<"common elements between both lists are:\n";
while(thisCurrentPointer != nullptr) {
argCurrentPointer = argList.getHeadReference();
while(argCurrentPointer != nullptr){
if(thisCurrentPointer->data == argCurrentPointer->data) {
cout <<thisCurrentPointer->data;
common = true;
break;
}
argCurrentPointer = argCurrentPointer->nextPointer;
}
thisCurrentPointer = thisCurrentPointer->nextPointer;
}
if(!common) {
cout <<"none\n";
}
thisCurrentPointer = nullptr;
argCurrentPointer = nullptr;
delete thisCurrentPointer;
delete argCurrentPointer;
}
Привет всем,
Я делал эту функцию для пересечения в классе connectedList, у которого есть параметр другого объекта connectedList, одна служебная функция, которую я использую в строке 9, - это getHeadReference (), которая просто возвращает адрес, сохраненный в headPointer (я использую эту функцию для того, чтобы argCurrentPointer указывал на заголовок списка, который пришел в параметре).
Во всяком случае ... функция дает совершенно точный вывод какими бы ни были два связанных списка, но элемент управления «застревает» сразу после его выполнения, элемент управления зависает, и возвращается огромное значение мусора, я действительно надеюсь, что все понятно.
У меня есть dry, запустите Код, я не могу найти проблему. Даже в main, когда я вызываю другую функцию после выполнения функции «intersectionLists», вызываемая функция выполняется должным образом без какой-либо задержки, но элемент управления не может выйти из main после всей работы, когда я не вызываю это код пересечения, никаких зависаний или задержек вообще не наблюдается, пожалуйста, помогите. Спасибо.