我新调试好的程序如下,应该是对的,供参考. \$ j( f4 X0 j/ E+ N
因为特殊要求,这里的边的长度是二维座标内的空间距离$ P/ ]# Z( J- A; t
1 Y- o0 R) r: v, H, O$ A
to find-distance
$ U0 |; |) ~) m& A, T8 I let i 0$ b2 _* h% t+ y1 X, x
let j 0
8 L% F' G2 h- n) X let nodedistance 0
7 A- }9 G" H7 T4 m& m( p8 ` let linknumber 0
3 m( Q, B/ K- k# U
3 o7 L: G5 A) R+ D2 T' \/ g while [j < count turtles]
+ J2 P9 ], k1 l [
! F9 V& B c r9 u while [i < count turtles]
( w1 b4 s3 M3 o [ if link-neighbor? turtle i8 g, ^: q( J5 j$ p. N3 V W. ?0 M& n: U
[ask turtle j [set nodedistance nodedistance + distance turtle i]
0 o2 P0 J/ v& y9 O ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]! c$ \* M: G, N5 o
]
1 V) F( o# e" K( M2 L4 t2 Q set i i + 1! r) s5 `5 { Z- ~; j
] 1 m. ]8 `5 w* o' X
set j j + 1' K& D$ G, D2 U; g: L- J. r
]
Z$ u8 G/ A, j' F: w set average-path-length nodedistance / (linknumber * 2)
3 b6 s5 t, ~9 v# l9 q |, \3 Fend |