美文网首页
表驱动法

表驱动法

作者: 賈小強 | 来源:发表于2018-07-14 11:24 被阅读25次

    简书 賈小強
    转载请注明原创出处,谢谢!

    表驱动法是一种编程模式(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[性别][婚姻][年龄][抽烟]

    1. objectTable[enum].method()

    索引访问(提升空间,时间效率)
    5)先用一个基本类型的数据从一张索引表中查出一个键,然后再用这个键查出感兴趣的主数据

    阶梯访问 (一个范围内的某个值映射到另一个值)
    6)写一个循环,按照区间的上限检查分数,当第一次超过某个区间的上限时,就知道对应的等级了

    Happy learning !!

    相关文章

      网友评论

          本文标题:表驱动法

          本文链接:https://www.haomeiwen.com/subject/qlnepftx.html