题目描述:
设在一个带头结点的单链表中所有元素结点的数据值无序,删除表中所有介于给定的两个值(函数参数给出)之间的元素。
算法思想:
核心代码:
void del_s_t(LNode* &L,int s,int t)
{
LNode* pre=L;
LNode* p=L->next;
while(p!=NULL)
{
if(p->data>=s&&p->data<=t)
{
LNode* temp=p;
pre->next=p->next;//先操作这一句再free(temp)
free(temp);
p=pre->next;
}
else
{
pre=p;
p=p->next;
}
}
}