При вводе значения в головной узел работает, но при создании средних узлов выдает ошибку сегментации. Какие изменения я должен сделать?
Пробовал вносить различные изменения, также пытался устранить ошибку сегментации, просматривая экземпляры NULL, но не смог. Прошу прощения, если вопрос кажется глупым, но я очень старался.
#include <iostream>
using namespace std;
class node
{
public:
int data;
node *next;
};
node *head,*pre,*curr,*tail;
void createhead(int roll)
{
head->data=roll; //creating head
head->next=NULL;
pre=head;
}
void createlist(int roll)
{
curr->data=roll; //creating new node
curr->next=NULL; //in this two lines.
pre->next=curr;
pre=curr;
}
void disp()
{
curr=head;
while(curr!=NULL)
{
cout<<"Value---- \t"<<curr->data<<"\n";
curr=curr->next;
}
}
int main()
{
head =new node();
pre=new node();
tail=new node();
cout<<"Enter 999 to stop\n";
int roll;
cout<<"enter roll number\n";
cin>>roll;
if(roll!=999)
createhead(roll);
for(;;)
{
cout<<"enter roll number\n";
cin>>roll;
if(roll==999)break;
createlist(roll);
}
disp();
}
Ожидается создание полного связанного списка.