数据结构:已知线性表中的元素以值递增有序排列,删除表中所有值大于mink且小于maxk的元素

已知线性表中的元素以值递增有序排列,并以单链表(带头结点)作存储结构。试写一高效的算法,删除表中所有值大于mink且小于maxk的元素(若表中存在这样的元素)同时释放被删除结点空间,并分析你的算法的时间复杂度(注意:mink和maxk是给定的两个参变量,它们的值可以和表中的元素相同,也可以不同)

status delete(LNode *head,ⅰnt maxk,int mink){
if(head!=NULL)
{
q=head;
p=head->next;
while(p&&(p->data<minK丨丨p->data==min))
{
q=p;
p=p->next;
}
while(p&&p->data<maxK)
{r=p;
p=p->next;
free(r);
}
}
return ok;
}
温馨提示:答案为网友推荐,仅供参考
相似回答