0
Может ли кто-нибудь помочь мне указать и объяснить логическую ошибку, которая у меня есть в этом круговом связанном списке? Заранее спасибо.C++ Ошибка связанного с круговой линией
template <class xtype>
void clist<xtype>:: copylist (const clist<xtype> & other)
{
node<xtype> *temp;
node<xtype> *p;
if (head !=NULL)
makeEmpty();
if (other.head == NULL)
head = NULL;
else
{
p = other.head;
head = new node<xtype>;
head->info = p->info;
temp = head;
p = p->next;
while(p != head)
{
temp->next = new node<xtype>;
temp = temp->next;
temp->info = p->info;
p = p->next;
}
temp->next = head;
}
}
но зачем использовать другие.head вместо головы? – user3504938
@ user3504938 Потому что 'p' выполняет итерацию через« другой »список. 'head' сам находится в списке, который вы создаете, и никогда не должен встречаться при пересечении' other'. – paddy