我有一个基于某些条件进行bin打包的算法。我发现算法的流程有点复杂,读者无法理解。
您可以在下面找到开发的Java代码。这段代码有更简化的替代流程吗?
void binpack() {
boolean set=false, cmap=false;
while(set==false) {
set=true;
cmap=false;
pack[k.cnt]=new bins(k.lim, k.ptim);
for(int i=0;i<tot;i++) {
int s1,s2;
if(jm[i][1]==0) {
s1=jm[i][0];
set=false;
else if(pack[k.cnt].pushk<k.lim) {
for(int j=0;j<pack[k.cnt].pushk;j++) {
s2=pack[k.cnt].binjm[j][0];
for (Iterator<Integer> g= list[s1].iterator(); g.hasNext();) {
}
}
注意:
ptim - &gt;当前时间
etim - &gt;结束时间
LIM - &GT;限制
答案 0 :(得分:1)
我头脑中的一些事情:
ptim
,chk()
)if ( bool == false )
应为if ( !bool )
if
或while
,使用正确的{}
块。break
到标签。答案 1 :(得分:1)
首先:不要为了节省一些打字而缩写变量。这会导致像那样的混淆代码混淆。
其次,您是否已经听说过java.util.Map?