当试图在其他位置插入节点而不是首先没有任何结果时,我在哪里出现错误?插入第二个插入命令时什么都没发生?
class Node
{
public:
int data;
class Node *next;
} *first;
int count(class Node *c)
{
int l = 0;
while(c)
{
l++;
c=c->next;
}
return l;
}
void Insert(int pos,int x)
{
class Node *t, *p;
if(pos==0)
{
t=new Node;
t->data=x;
t->next=first;
first=t;
}
else
{
p=first;
for(int i=0;i<pos&&p;i++)
p=p->next;
if(p)
{
t=new Node;
t->data=x;
t->next=p->next;
p->next=t;
}
}
}
void display(class Node *p)
{
while(p!=NULL)
{
cout<<p->data;
p=p->next;
}
}
int main()
{
first = NULL;
Insert(0,1);
Insert(1,2); // NOT WORKING
display(first);
return 0;
}