我新调试好的程序如下,应该是对的,供参考
5 h& d# g! I5 I: l J. A因为特殊要求,这里的边的长度是二维座标内的空间距离
# D- D1 a7 D3 R: B, s( J# j- b @' ]3 E5 m6 T
to find-distance
6 u1 m1 S2 A9 g% r2 j let i 03 H, a$ v) ?- B- A
let j 07 d4 s7 z$ m) s5 N1 @6 \6 ^
let nodedistance 0. B/ j& @$ v! M, ^( I+ x! C" s
let linknumber 03 m' r, h, v4 c5 ~
% m' J5 @% y; t9 Z4 I! Z8 }
while [j < count turtles]4 @5 B6 r# o8 U3 x( Z) b, s
[+ q$ ]0 U6 g b( W! W j" L3 x
while [i < count turtles]/ L4 F( r, G! Y5 F% C& z
[ if link-neighbor? turtle i
8 p! p, W: a0 s [ask turtle j [set nodedistance nodedistance + distance turtle i]: c+ @" }( f( M' B6 K& y
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i], i! i. ?$ J* P2 r S
]
4 J, k& C: A B5 M N& B set i i + 1( o5 Y6 i6 X6 g+ s7 J
] ! g, b- z! V+ Q
set j j + 12 a9 B/ I' N' ~6 k% e
]
0 Q1 f) c7 ^4 O+ n set average-path-length nodedistance / (linknumber * 2)- E# z2 H9 j7 P
end |