如何将多个条件判断语句改写成其它形式,要求运行效率高.怎样将if() else...if() else...if() e
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/17 06:19:04
如何将多个条件判断语句改写成其它形式,要求运行效率高.怎样将if() else...if() else...if() else...
怎样将if()
else()
if()
else()
if()
else()
等很多个条件判断改成更高效的,求高手指导.
我之前有采用一个方法,把CH所对应的处理函数建成一棵树,根据gets(ch)的值去判断相应的处理函数,然后执行相应的函数,可是我老大说这样也不算是很高效,所以请教高人还有没有更好的办法.
怎样将if()
else()
if()
else()
if()
else()
等很多个条件判断改成更高效的,求高手指导.
我之前有采用一个方法,把CH所对应的处理函数建成一棵树,根据gets(ch)的值去判断相应的处理函数,然后执行相应的函数,可是我老大说这样也不算是很高效,所以请教高人还有没有更好的办法.
qming102说的是对的
case 句型只是跳转到符合的那个块里,并不是顺序判断
if语句是顺序判断,直到有符合条件的块
你在调试程序的时候step分步执行,就能很明显的看出区别来
当然,如果判断块少,运行效率不太明显体现
大量数值运算时就会很明显,差异n倍
再问: 断点调试的时候会在每个case停留判断是否是相同的,如果不同再往下执行,这样写case语句的先后就和运行效率有关系啦,判断的条件没有高频和低频之分,是随机的,请问如何做到高效呢?
再答: 你理解的有问题,switch case 语句设置条件,只要条件验证,立刻跳转到相应块中执行相关语句。没有你所谓的判断先后问题,几个case是并列的。 你理解随机可能是认为程序不是顺序执行,一个一个块去验证?这种理解是错的。这里执行的是跳转,所以效率非常高。 希望你做一次debug就能很明确的看出来了,不要只是看书本,编程是需要大量实践的
再问: 嗯,你说得对,我刚试了下,是直接跳到对应的ch的,我的求助是不用这种结构有没有更好的办法呢?这种switch case的结构刚开始的时候我也和我们老大提过,他否决了,所以想寻找新办法,谢谢了,求指点。
再答: 刚才你没说清楚,我看了别人的回答,也许你是从一个大文本里面读数,然后调用函数,函数里面再判断执行。因为文件大或者数据多,所以调用这个函数的次数非常多,你就会觉得效率低。 最关键的是大家不知道你这个程序大概是什么状态,所以没办法回答。 你应该梳理下你人家给你的需求,画出个流程,仔细分析能不能通过修改流程减少函数的调用。这样效率就提升了。 给你说个实例,我曾经接手过一个财务结算的函数,是个刚工作的程序员写的,里面也是很多if判断,然后执行程序,每一次读取一个数据都判断,然后执行程序。运行一次需要30分钟左右,我通过画流程图,发现如果把数据流进行梳理,类似的先合并再调用函数,程序变动很小,把速度提升到20秒,就这么大的差别。 所以关键是你的业务流程,而不是用case还是if,希望你能理解,不要在细节上较真
case 句型只是跳转到符合的那个块里,并不是顺序判断
if语句是顺序判断,直到有符合条件的块
你在调试程序的时候step分步执行,就能很明显的看出区别来
当然,如果判断块少,运行效率不太明显体现
大量数值运算时就会很明显,差异n倍
再问: 断点调试的时候会在每个case停留判断是否是相同的,如果不同再往下执行,这样写case语句的先后就和运行效率有关系啦,判断的条件没有高频和低频之分,是随机的,请问如何做到高效呢?
再答: 你理解的有问题,switch case 语句设置条件,只要条件验证,立刻跳转到相应块中执行相关语句。没有你所谓的判断先后问题,几个case是并列的。 你理解随机可能是认为程序不是顺序执行,一个一个块去验证?这种理解是错的。这里执行的是跳转,所以效率非常高。 希望你做一次debug就能很明确的看出来了,不要只是看书本,编程是需要大量实践的
再问: 嗯,你说得对,我刚试了下,是直接跳到对应的ch的,我的求助是不用这种结构有没有更好的办法呢?这种switch case的结构刚开始的时候我也和我们老大提过,他否决了,所以想寻找新办法,谢谢了,求指点。
再答: 刚才你没说清楚,我看了别人的回答,也许你是从一个大文本里面读数,然后调用函数,函数里面再判断执行。因为文件大或者数据多,所以调用这个函数的次数非常多,你就会觉得效率低。 最关键的是大家不知道你这个程序大概是什么状态,所以没办法回答。 你应该梳理下你人家给你的需求,画出个流程,仔细分析能不能通过修改流程减少函数的调用。这样效率就提升了。 给你说个实例,我曾经接手过一个财务结算的函数,是个刚工作的程序员写的,里面也是很多if判断,然后执行程序,每一次读取一个数据都判断,然后执行程序。运行一次需要30分钟左右,我通过画流程图,发现如果把数据流进行梳理,类似的先合并再调用函数,程序变动很小,把速度提升到20秒,就这么大的差别。 所以关键是你的业务流程,而不是用case还是if,希望你能理解,不要在细节上较真
如何将多个条件判断语句改写成其它形式,要求运行效率高.怎样将if() else...if() else...if() e
vfp if else 语句
对于if else语句 所给的值不满足if的判断条件,那么会执行else 后的语句.如果所给的值在不满足if
c++的if else语句
C语言中的条件赋值语句和if——else语句执行效率比较,哪一个效率高些,坐等高手解惑
matlab if else语句为什么只运行最后一个,急
C语言的分支语句中,if()...if()...else...和if()...else if()...else...两者
请问条件表达式“?:”和if+else条件语句的区别?
为何if else语句出现有if没有else
条件语句的一般形式是‘if a then else c’其中B表示的是
if else 的写法那个效率高 为什么
用条件表达式替代if-else语句的规律