简书 賈小強
转载请注明原创出处,谢谢!
表驱动法是一种编程模式(scheme)--从表里面查找信息而不使用逻辑语句(if和case)。事实上,凡是能通过逻辑语句来获得的事物,都可以通过查表来获得。对简单的情况而言,使用逻辑语句更为容易和直白。但随着逻辑链的越来越复杂,查表法也就愈发显得更具吸引力。
怎么存到表里:
1)dayPerMonth=[31,28,31,30,31,31,30,31,30,31]表可以用于存放对应月份的天数
2)charTypeTable=[...'标点符号类型','标点符号类型',...,'字符类型','字符类型'...'数字类型','数字类型'...]
3)rateTable=性别,婚姻,年龄,抽烟等因为的一个多维数组
4)在表中存的是一系列兄弟类对象,objectTable=[obj1,obj2,obj3...]
5)对一列数据建立索引
6)两个平行的数组,如rangelimit={50.0, 65.0, 75.0, 90.0, 100}, grade={"F", "D", "C", "B", "A"}
怎么从表中查询:
直接访问:(一个或多个值映射到另一个值)
1)day=dayPerMonth[1]
2)charType=charTypeTable['a']
3)rate=rateTable[性别][婚姻][年龄][抽烟]
- objectTable[enum].method()
索引访问(提升空间,时间效率)
5)先用一个基本类型的数据从一张索引表中查出一个键,然后再用这个键查出感兴趣的主数据
阶梯访问 (一个范围内的某个值映射到另一个值)
6)写一个循环,按照区间的上限检查分数,当第一次超过某个区间的上限时,就知道对应的等级了
Happy learning !!
网友评论