哈密顿圈
本帖最后由 月亮树 于 2012-9-1 15:31 编辑关于哈密顿圈的flag的用法;
function =modifycircle(c1,L);
global a
flag=1;
while flag>0
flag=0;
for m=1:L-3
for n=m+2:L-1
if a(c1(m),c1(n))+a(c1(m+1),c1(n+1))<...
a(c1(m),c1(m+1))+a(c1(n),c1(n+1))
flag=1;
c1(m+1:n)=c1(n:-1:m+1);
end
end
end
end
long=a(c1(1),c1(L));
for i=1:L-1
long=long+a(c1(i),c1(i+1));
end
circle=c1;
特别是while flag>0
flag=0;
这段的用法还有
for m=1:L-3
for n=m+2:L-1
if a(c1(m),c1(n))+a(c1(m+1),c1(n+1))<...
a(c1(m),c1(m+1))+a(c1(n),c1(n+1))
flag=1;
为什么要这样子?
请各位图友帮忙看看,最好注释一下!谢谢各位,M文件在下面,为下载需要-2体力,在悬赏上补上!增加为10体力! 感觉我也看不懂
页:
[1]