条件组合 如何优化?
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掉,可以减少一些{}的嵌套
[解决办法]
[解决办法]
三楼的意思是这样的
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表示全假