实现函数,删除带头结点的升序单链表La中所有值大于a且小于b的元素(若表中存在这样的元素),即待删除元素处于开区间(a,b)中。链表结点结构LNode
和链表结构LinkList
如下:
void deleteRange(LinkList La, int a, int b)
{
LNode* pre_p=La.head;
if(pre_p->next==NULL)
return;
LNode* p=pre_p->next;
while(p)
{
if(p->data>a&&p->data<b)
{
pre_p->next=p->next;
LNode* q=p;
p=p->next;
free(q);
}
else
{
pre_p=p;
p=p->next;
}
}
}