Где находятся ошибки в объединении двух связанных списков внутри класса ?
void uni(list l1,list l2) { list u; node *t1,*t2; t1=l1.head; t2=l2.head; while(t1!=NULL) { u.push(t1->prn); t1=t1->next; } while(t2!=NULL) { t1=l1.head; while(t1!=NULL) { if(t2->prn==t1->prn) { u.push(t2->prn); t1=t1->next; break; } t1=t1->next; } t2=t2->next; } u.display(); }
Что я уже пробовал:
Я пробовал объединение двух связанных списков в классе!
Richard MacCutchan
В чем именно заключается проблема?
VaibhavKhurana
Результат не желателен и в новом списке есть дублирование
Richard MacCutchan
Да, но что это на самом деле означает? Что эти два списка пытаются сделать, и какой результат вы хотите видеть?
Rick York
Хотя "союз" является правильным словом с лингвистической точки зрения, оно имеет специфическое значение в контексте программирования на C++, которое не соответствует вашему коду. Правильнее было бы назвать это "слиянием двух связанных списков"." В C++ и C объединение-это структура данных, члены которой совместно используют одно и то же хранилище в памяти.