分析
分别查找第一个值 >mink 的结点和第一个值 ≥ maxk 的结点,再修改指针,删除值大于
mink 且小于 maxk 的所有元素。最后记住别忘了释放节点的空间,因为不释放结点空间就会出现结点游离。
void free(LinkList &L, int mink, int maxk) {
p=L->next; // 首元结点
while (p && p->data<=mink)
{ pre=p; p=p->next; } // 查找第一个值 >mink 的结点
if (p) {
while (p && p->data<maxk)
p=p->next;
// 查找第一个值 ≥ maxk 的结点
q=pre->next; pre->next=p; // 修改指针
if (q!=p) {
s=q->next; free q; q=s;
} // 释放结点空间
}
}