求链表最大节点的前驱结点
2017-01-30 09:56
330 查看
SLink* preMax(SLink *L) { if(L==NULL) return NULL;//如果链表为NULL,则返回NULL else if(L->next == NULL) return NULL;//如果链表只有一个头结点,则也返回NULL else { SLink *pre,*p,*maxp,*maxpre; pre = L;//pre为前驱结点 p = L->next; maxp = p;//初始化max指向第一个节点p maxpre = pre;//初始化maxpre指向第一个前驱结点pre while(p!=NULL) { if(p->data>maxp->data)//如果存在结点大于最大节点,则max指向当前结点 { maxp=p; maxpre = pre; } pre = p; p = p->next; } if(maxpre == L) return NULL; //若不存在最大前驱结点,则也返回NULL else return maxpre; }
相关文章推荐
- SD卡两种操作模式在项目中应用的比较
- 微信封面图片比例自动调整器:微信公众平台后台管理辅助小工具
- 反思与总结:破壳篇
- Spring AOP和事务的相关陷阱
- 如何一步一步用DDD设计一个电商网站(十二)—— 提交并生成订单
- java程序的容错性
- [BZOJ1711][Usaco2007 Open]Dining吃饭(最大流)
- json数据操作
- 491. Increasing Subsequences
- 2017.1.30 Java有感3.1
- java基于正则提取字符串中的数字功能【如提取短信中的验证码】
- 配置LANMP环境(1)-- 安装虚拟机VMware与安装CentOS7.2系统
- 2017.1.30 Java有感3(main方法)
- java 语句异常后跳出的范围是fun()
- 破解 Windows 和 Office;激活 Windows 和 Office
- Salesforce使用truncate清空数据库
- The best way to handle the LazyInitializationException
- Quine----输出本身的程序
- removeEventListener('2016');
- 逆变与协变详解