思路
边遍历,边删除
代码
void del_betw(LinkList &L, ElemType s, ElemType t){
LNode *p=L->next,*pre=L;
while(p!=NULL){
if(p->data>s && p->data<t){
pre->next=p->next;
free(p);
p=pre->next;
}else{
pre=p;p=p->next;
}
}
}
总结
注意else语句,如果前面已经删除结点,就不能跳过了,所以得用else语句。
本文介绍了一种在链表中删除特定范围元素的算法思路。通过一次遍历,结合指针操作,高效地实现了在链表中删除所有大于s且小于t的元素。文章详细解释了代码实现细节,并强调了在条件判断中使用else语句的重要性。
827

被折叠的 条评论
为什么被折叠?



