我新调试好的程序如下,应该是对的,供参考9 Q1 E. s i2 }& S6 l
因为特殊要求,这里的边的长度是二维座标内的空间距离
4 _; M7 N% H' [" Q$ J* T4 c. n/ g9 c; ~3 ]
to find-distance
: t1 u) X+ ~! H6 J& J; J let i 0
3 n5 {1 S/ e$ z, H5 ^( r$ @ let j 0+ k+ S B5 z; b2 T% p: K
let nodedistance 0
5 X; S4 [& {, _, W" Z let linknumber 0
6 r+ o& a1 A$ N S
9 @- k _/ ]1 H% z) j% k$ F while [j < count turtles]- ?! b2 y/ l- ~, t! Q
[2 n% A5 t2 d2 P' y: i
while [i < count turtles]
) w5 X( v& S# a [ if link-neighbor? turtle i
/ |3 i; C% G7 J) G+ F* B% ^ [ask turtle j [set nodedistance nodedistance + distance turtle i]4 |, @% w, m3 S- h( V6 m; q
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]. D- W8 m6 e1 O/ x) k1 o9 s
]' G8 @: d! i4 H* \, t, Z- }- p0 Z
set i i + 1; {; p" Q: s2 k. m; M
] . [ {0 N. l+ z
set j j + 1! i0 @6 x2 X7 J m. G
]' q; N2 P$ `6 y& h( a
set average-path-length nodedistance / (linknumber * 2)0 I' o+ Q' Z. Y; N- |1 Q9 H2 j
end |