系统程序员成长计划 学习笔记(2) -- Write Less
来源:互联网 发布:淘宝上那家卖警服 编辑:程序博客网 时间:2024/06/10 06:12
很简单的需求, 单链表中可能存放整数, 字符串, 浮点, 双精度等等数据类型, 写出遍历函数,
当然不可能每种类型写一个函数, 这样的代码太丑陋, 因为大量的代码都是重复的, 这个时候就用到回调的方法,
声明函数指针
实现外层函数
一个printer的例子,
调用
这又就节省了大量的遍历链表产生的重复代码;
另一个例子是找出单链表里的最大值和累加单链表各个的节点值, 这两个算法肯定是相似度很高的. 一般人其实第一直觉意识不到这一点, 所以会写两个函数, 写完了发现, 大部分的操作(遍历)是重复的, 如何做呢,
类似, 采用回调函数, 但是这里涉及到了回调函数保存中间数据的问题, (当前最大值, 和partial result of sum)
于是
首先声明
ir就是用来保存中间数据的,
实现上层函数
回调函数的例子:
这里ctx就是保存的中间结果
- 系统程序员成长计划 学习笔记(2) -- Write Less
- 系统程序员成长计划 学习笔记(1)--关于封装
- 系统程序员成长计划 学习笔记(3) - 接口
- 学习“系统程序员成长计划-Write once, run anywhere(WORA)(上)”
- 学习“系统程序员成长计划-Write once, run anywhere(WORA)(下)“
- 系统程序员成长计划-Write once, run anywhere(WORA)(上)
- 系统程序员成长计划-Write once, run anywhere(WORA)(下)
- 系统程序员成长计划-Write once, run anywhere(WORA)(上)
- 系统程序员成长计划-Write once, run anywhere(WORA)(下)
- 系统程序员成长计划-Write once, run anywhere(WORA)(上)
- 系统程序员成长计划-Write once, run anywhere(WORA)(下)
- 系统程序员成长计划-李先静的笔记
- 《系统程序员成长计划》学习交流(2)-通用单链表
- 学习“系统程序员成长计划-序”
- 学习“系统程序员成长计划-背景知识”
- 系统程序员成长计划
- 系统程序员成长计划
- 系统程序员成长计划
- POJ 1496 + 1850 (数论-排列组合) (?)
- 整数计算向上取整
- 字符转换函数
- [收集]JAR转EXE的几种工具和方法
- 笑傲江湖
- 系统程序员成长计划 学习笔记(2) -- Write Less
- 相关网站收录
- javaScript 验证表单
- ID的生成策略(hibernate的id生成策略,主键类为什么需要实现序列化接口,同时还要重写hashCode()和equals()方法)
- ajax
- 全国男生录取老婆统一考试试卷
- swfupload+ffmpeg实现视频上传并生成缩略图
- 详细QQ等级明细
- ubuntu下跑魔兽世界