2025年3月13日 星期四 甲辰(龙)年 月十二 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

删除单链表中所有大于最小值小于最大值的元素

时间:01-03来源:作者:点击数:78

问题描述:

设在一个带表头结点的单链表中所有元素结点的数据值无序,试编写一个函数,删除表中所有大于最小值小于最大值的元素(若存在)。

问题解答:

因为链表是无序的,所以只能逐个结点进行检查,执行删除。

本题代码如下:

  • void RangeDelete(LinkList &L, int min,int max){
  • LNode *pr = L, *p=L->link; //p 是检测指针,pr 是其前驱
  • while(p!=NULL)
  • if (p->data>min&&p->data<max) { //寻找到被删结点,删除
  • pr->link=p->link;
  • free(p);
  • p=pr->link;
  • }else{ //否则继续寻找被删结点
  • pr=p;
  • p=p->link;
  • }
  • }
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门