首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

条件组合 怎么优化

2012-06-19 
条件组合 如何优化?GetMin(){bool b1,b2,b3,b4int n1,n2,n3,n4b1 b2b3b4 FALSEn1n2n3n4 m_n

条件组合 如何优化?
GetMin()
{
bool b1,b2,b3,b4;
int n1,n2,n3,n4;
b1 = b2=b3=b4 = FALSE;
n1=n2=n3=n4 = m_nValue;//m_nValue是个初始值
/*
.....
此处的代码可能修改b1 b2 b3 b4
.....
*/
if(b1)//系列条件,最后获得最小值
{
;//if()
}

}
各条件组合怎么写比较简单?

因为4个条件组合好像有15种

[解决办法]
将b1 ~ b4做成一个4bit的值,然后用switch case?
[解决办法]
如果某些条件满足了,就return掉,可以减少一些{}的嵌套
[解决办法]

探讨
将b1 ~ b4做成一个4bit的值,然后用switch case?

[解决办法]
三楼的意思是这样的
b0 x+=1;
b1 x+=2;
b2 x+=4;
b3 x+=8;

不用嵌套b0~b3,直接看x的值就可知道是什么情况了
例如说x=1 刚说明b0==true;
 x=3 刚说明b0==true&&b1==true..
x=...

[解决办法]
可以这样 用0或1表示false和ture
b1 b2 b3 b4 可以用1111表示全真 0000表示全假 

热点排行