我新调试好的程序如下,应该是对的,供参考0 W, a# [5 N7 l1 S3 h
因为特殊要求,这里的边的长度是二维座标内的空间距离) u3 D4 R: o0 S, O& g5 j
- c" s. T8 A7 r2 N* _9 v
to find-distance
" ]/ S; v6 ~1 y4 t let i 0, i$ c. C5 L% @6 D6 _: V
let j 07 t, Y! z4 v' E! b# o2 O9 c
let nodedistance 0
, z7 Q% @% k$ H- V) c2 e let linknumber 0" g5 A( f, N* _ L& i( u4 ?
. Y- w1 M( u; V2 R& v2 I; n y, D0 k while [j < count turtles]
8 F8 |" b. m: c) C! V! F! F [9 T/ \& M N% B0 E, K( J! e
while [i < count turtles]
( y x9 ?! c9 h0 v, ? [ if link-neighbor? turtle i0 [& _1 p% C% q7 U& l9 {
[ask turtle j [set nodedistance nodedistance + distance turtle i]
& e9 A1 a& z1 ^% T i. o. U ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
" U& {! @' }- d- Y3 a' Z5 D ]7 y9 E6 `/ R- Y" Q/ b7 h! i
set i i + 1: N0 e' k) n1 s* c T
]
3 O6 {1 A# N1 g: i# y% `# C% m. a set j j + 1) y- m1 W: l2 X
], ^6 ~& N- v8 t6 A" i. B7 V2 |
set average-path-length nodedistance / (linknumber * 2)
& j. G( q4 O% A+ Fend |