单链表节点删除问题
设线性表中的数据元素依值递增排序,并以单链表作为存储结构。设计一个高效的算法删除值大于mink且小于maxk的元素,同时释放被删除节点的空间。大神们有没有好的办法?我的如下。
void deletelist(ListNode *L,int min,int max){
while(L->link!=NULL){
if(L->link->element>min&&L->link->element<max){
ListNode *sd=L->link;
L->link=L->link->link;
free(sd);
}else{
L=L->link;
}
}
}