为了账号安全,请及时绑定邮箱和手机立即绑定

我觉得是不是一个for循环就可以找到最小边了啊?

private int getMinEdge(List<Edge> edgeLst) {

int minWeight = 0;

int edgeIndex = -1; 

int i = 0; 

for (; i < edgeLst.size(); i++) {

if(!edgeLst.get(i).isSelected())

{

if(minWeight > edgeLst.get(i).getWeightValue())

{

minWeight = edgeLst.get(i).getWeightValue();

edgeIndex = i;

}

}

}

return edgeIndex;

}



正在回答

1 回答

   不行的,你给minWeight初值是0,想象一下,如果所有权值都大于0的话,if(minWeight > edgeLst.get(i).getWeightValue())里面的东西都不会执行哦。如果你要求最小值,你应该给minWeight一个很大的值,当然这也是不严谨的,严谨的做法就是像老师写的那样

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我觉得是不是一个for循环就可以找到最小边了啊?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信