单链表的插入与删除操作
bool insertList(PNode pHead, int pos, int val)
{
if(pos<1||pos>length(pHead)+1)
{
return false;
}
PNode p=pHead;
for(int i=1;i<pos;i++)
{
p=p->pNext;
}
PNode pNew=(PNode)malloc(sizeof(Node));
pNew->data=val;
pNew->pNext=p->pNext;
p->pNext=pNew;
system(“pause”);
return true;
}
bool deleteElem(PNode pHead, int pos)
{
if(pos<1||pos>length(pHead)||length(pHead)==0)
{
return false;
}
PNode p=pHead;
for(int i=1;i<pos;i++)
{
p=p->pNext;
}
Node*q=p->pNext;
p->pNext=q->pNext;
free(q);
return true;
}