我覺得是不是一個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;
}
2017-11-22
? ?不行的,你給minWeight初值是0,想象一下,如果所有權值都大于0的話,if(minWeight > edgeLst.get(i).getWeightValue())里面的東西都不會執行哦。如果你要求最小值,你應該給minWeight一個很大的值,當然這也是不嚴謹的,嚴謹的做法就是像老師寫的那樣