数据结构程序题

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

 

void Delete(LinkList L)//删除表中所百有值大度于mink且小于maxk的元素
{
int maxk,mink;
LinkList p,q;
printf("请输内入容mink,maxk:\n");
scanf("%d %d",&mink,&maxk);
p=L;
while(p->next)
{
if( p->next->data > mink&& p->next->data < maxk)
{
q=p;
p=p->next;
free(q);
}
else p=p->next;

}
printf("删除成功\n\n");
} 

 

posted @ 2020-05-23 19:38  洪豆豆的记录  阅读(358)  评论(0编辑  收藏  举报