手机上的算法优化 —— 分支优化
2022/1/6 17:05:17
本文主要是介绍手机上的算法优化 —— 分支优化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
【前言】
作为一个程序猿,if - else的使用会贯穿我们的整个职业生涯,但是有句话说的好,成年人不做选择题,那我们应该如何避免选择题呢?
【Show me the fucking code!】
if(condition 1) { 分支流程1 } else if(condition 2) { 分支流程2 } …… else { 分支流程n }
【违反开放、封闭原则】: 新增一种判断时,会新增一个if-else分支
【函数表优化】
针对与上述原则,建议使用函数表结构:
typedef bool (*ProcessFuncPtr)(const ItemState& current, ItemState& next); struct ActionProcess{ Action act; ProcessNextFuncPtr processFunc; } ActionProcess actMap[] = { {FARMER_GO, ProcessFarmerGo}, {FARMER_GO_TAKE_WOLF, ProcessFarmerGoTakeWolf}, {FARMER_GO_TAKE_SHEEP, ProcessFarmerGoTakeSheep}, {FARMER_GO_VEGETABLE, ProcessFarmerGoVegetable}, {FARMER_BACK, ProcessFarmerBack}, {FARMER_BACK_TAKE_WOLF, ProcessFarmerBackTakeWolf}, {FARMER_BACK_TAKE_SHEEP, Proces
这篇关于手机上的算法优化 —— 分支优化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29DataGrip使用ssh连接数据库的操作流程
- 2024-05-28SpringBoot3.2更新声明!
- 2024-05-28中外程序员到底有啥区别?
- 2024-05-25外企也半夜发布上线吗?
- 2024-05-24鸿蒙原生应用再新丁!芒果TV 入局鸿蒙
- 2024-05-22基本概念
- 2024-05-22检索数据
- 2024-05-22排序数据
- 2024-05-22基础过滤数据
- 2024-05-22通过逻辑操作符过滤数据