c++双向循环链表插入的问题
void LinkListC::InsertLink(int A)
{
NodeTypeC *p,*q,*s;
s=new NodeTypeC;
if(s==NULL)
{
cout<<"空间分配失败!"<<endl;
}
s->elem=A;
p=Head->next;
while(p!=NULL&&p!=Head&&p->data>A)
p=p->next;
if(p==NULL)//表为空
{
Head->next=s;
Head->prior=s;
s->next=Head;
s->prior=Head;
}
else if(p==Head)//插入的元素小于最小的
{
s->next=Head;
s->prior=Head->prior;
Head->prior->next=s;
Head->prior=s;
}
else
{
s->next=p;
s->prior=p->prior;
p->prior->next=s;
p->prior=s;
}
}
执行到"Head->prior->next=s;"和"p->prior->next=s;"时,总是提示Access Violation。不明白为什么,请高手指点~~~~