Я пишу программу для выполнения различных операций над двойным круговым связанным списком. Все остальные функции работают нормально, но после слишком сложных попыток я почему-то не могу понять, почему моя программа завершается при выполнении функции insert_end(). Функция:Вставка узла в конец двойного кругового связанного списка
void list::insert_end()
{ int data;
node*temp,*p;
if(start==NULL)
cout<<"CREATE list first!:"<<endl;
else
{ cout<<"enter data to enter in a node after the last node:"<<endl;
cin>>data;
temp=new node(data);
while(p->next!=start)
{ p=p->next;
} // now p points to last node of doubly,circular list!! i.e. the linked list is traversed till p's next pointer points to start
temp->pre=p;
temp->next=p->next;
p->next->pre=temp;
p->next=temp;
display();
}
}
Это программа, управляемая меню.
Пожалуйста, помогите мне о функции insert_end ..I'm начинающему ...
При выполнении подобных действий лучше всего сделать связанный список в бумаге и выполнить операцию вручную, шаг за шагом. – Manu343726
О, да, я буду помнить об этом. Благодарю . :) –