У меня есть список, и я хочу отображать его значения.Как отобразить все значения списка без бесконечного цикла
Я хочу видеть 1 2 3 4
, но у меня есть бесконечный цикл, как 1 2 3 4 1 2 3 4 1 2..
Не могу понять, почему?
struct node
{
int item;
node *next;
node(int x, node *t)
{
item = x;
next = t;
}
};
int main()
{
node *firstElement = new node(1, NULL);
firstElement->next = firstElement;
node *lastElement = firstElement;
for (int i = 2; i < 5; i++)
lastElement = (lastElement->next = new node(i, firstElement));
for (node *first = lastElement; first != 0; first = first->next)
cout << first->item << " ";
delete firstElement;
return 0;
}
почему бы не использовать отладчик? 'новый узел' очень плохой стиль, так как вы даже не удаляете узлы – deW1
@ deW1 да, спасибо, забудьте о' delete' – dima
Вы инициализируете узел с 'next' установленным' firstElement'; последний узел никогда не изменил свой указатель 'next'. –