我新调试好的程序如下,应该是对的,供参考6 m0 i7 k, J& R5 U5 k
因为特殊要求,这里的边的长度是二维座标内的空间距离
/ h7 x# x2 ^* ?! U9 C* ]
1 E3 K. `; w4 ]" l* Qto find-distance7 ]- {' n+ A! S: `% d3 p# d
let i 0
, L$ B4 g$ }- e' ^9 C let j 0
# C3 I/ f* l2 ?) l3 F4 J let nodedistance 0
4 T( a8 N: K6 q let linknumber 0
- e1 R& ~1 O1 F$ i
6 D/ Z4 r; D8 k8 V- N0 t# c$ r while [j < count turtles]
/ N0 y0 v8 \) k; [ [- |/ r0 Y) a& J' |
while [i < count turtles]( {+ |: g# I* W$ R e& T6 |, ^3 w
[ if link-neighbor? turtle i
3 g/ u. y9 f0 W S) F4 Q; M8 Q, q [ask turtle j [set nodedistance nodedistance + distance turtle i]
7 [. P, \4 Y# Y, h3 M ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]) {) Q6 C3 n0 V5 m2 T- @$ C' Y6 y
]4 L. ]3 u5 J4 a, W% c1 U* {
set i i + 1! ~# |. i( ^: \6 [
] 1 ]( M5 B7 |2 j' W6 `7 k8 I. ]( u
set j j + 1
* K. x. a5 c1 K1 b6 l' A ]
e4 F# x1 |% K set average-path-length nodedistance / (linknumber * 2)
2 @! Y( \7 K- s0 `' Bend |