表驱动的认识以及用法——原创---非抄书
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,表驱动是什么:通过查找数据表来代替复杂的逻辑结构(如 if ... else ......, switch等);表驱动的优点是: 1、 将编程的重心调整到解决问题上,而不是复杂的逻辑判断;2、 增加了
千家信息网最后更新 2025年01月23日表驱动的认识以及用法——原创---非抄书
表驱动是什么:通过查找数据表来代替复杂的逻辑结构(如 if ... else ......, switch等);
表驱动的优点是: 1、 将编程的重心调整到解决问题上,而不是复杂的逻辑判断;
2、 增加了程序的灵活性,易添加,易修改;
3、数据驱动,如果将数据写入文件,每次启动时,从文件中读取,那么,如果要修改一些变量,可能直接修改数据文件,而不是去修改程序结构;
表驱动的三种方法:
1、直接驱动法: 你需要找什么,指定索引,就可以给你立即返回索引在表中对应的元素 或者动作;
案例1:(一维查找:即可以代替一层的if结构或者switch结构): 比如你要查找1--12月份每个月的天数,如下: month_day[12] = {31,30,29,30,30,31,31,31,30,30,31,30}; return month_day[5]; 这样直接对应的就是5月的天数; 直接驱动 是 指 索引 和 需要的得到的数据 或者动作是直接对应关系; 案例2:(三维查找:即有三个条件同时限制,如果使用if 或者 switch 可能需要三层嵌套结构) 比如一个路由景点,收费标准因 性别,是否学生,以及是否残疾 三项 共同决定门票的价格,那么,我们可以 使用三维数据驱动表来代替 复杂的上层if 语句; int entrance_ticket_fee[][][] = { { {0,10} , {0,15} }, { {0,15},{15,30} } } 这是一个三维向量,三个维度分别代表了不同的限制, 第一维代表性别,索引 0代表女,1 代表男; 第二维代表是否是学生,索引 0代表是,索引 1 代表不是; 第三维代表是否是残疾, 索引 0代表残疾, 索引 1代表健康; 以上这个三维数组代表的是: 女孩,学生,残疾 0元 女孩 ,学生,健康 10元; 女孩, 非学生,残疾 0 元; 女孩, 非学生,非常急15元; 男孩,学生,残疾 0元; 男孩,学生,健康,15元; 男孩,非学生,残疾 15元; 男孩,非学生,健康,30元; 通过给定性别,是否是学生,是否残疾,来确定其返回值; return entrance_ticket_fee[0][1][1] //15元; 2、索引驱动法: 由于很多情况,有分段时,各段情况不一样,比如 按年龄来分,18岁以下和60岁以上的人 景区门票按照标准减一半,而 19 -- 59 之 间的人,门票和年龄相对应,那么,如果还用直接索引法的话,对于0--18岁以下 和 60 岁以上,都对应一个数值,那么其实可以用 一个索引来 代替,这样就节省了空间,这种转化通过函数来实现; 索引驱动是对直接驱动法在节约空间方面的改进; 3、阶梯访问表: 很多问题,并不需要一对一,而是要将其进行归类,简单的例子,比如说按成绩分类: 100 - 90 : A 89 - 80 : B 79 -- 60 : C 59 -- 0 : D 给定一个数,判断其所在的范围,即可以云阶梯访问。 阶梯访问是通过将要对比的数 (原数据) 和 各个区域的上限(或者下限)进行比较,可以选择顺序比较,也可以选择二分法之类的。 阶梯访问是对 索引驱动法的在节约内存空间方面的再次改进
索引
驱动
代表
学生
残疾
数据
结构
三维
健康
女孩
男孩
阶梯
复杂
性别
文件
空间
门票
三个
动作
天数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
索尼a7s3开机提示数据库错误
中控考勤软件开发包
网络安全建设方案费用
手机归属地数据库下载
闭源软件开发人工智能
数据库安装步骤2019版
军营网络安全现状
数据库上哪找数据
怎样清除苹果健康里的数据库
中指院 数据库
汉口串口服务器多少钱
数据怎么删除重复的数据库
多元素软件开发方案公司
宜昌市公安局网络安全等保大队
vfp的数据库记录数
猿马网络技术
网络ntp服务器
是网络安全第一资源
管理服务器远程软件下载
青岛软程互联网科技
看懂数据库关系图
公安网络安全检讨书
c语言软件开发目录结构
学嵌入式软件开发找什么公司
软考数据库资料2022
内燃机网络技术图片
实况2022服务器更新时间
电子支付与网络安全期末试卷
邯郸软件开发项目管理
数据库按分数升序排序