我新调试好的程序如下,应该是对的,供参考
1 M: W2 ^% H+ Z因为特殊要求,这里的边的长度是二维座标内的空间距离4 @% ~+ P3 a3 l8 n% B+ x. ]/ {
5 G6 p+ v# m, \8 J* qto find-distance+ h8 C2 y, P( ^" M
let i 0% W% ]) L( z- v
let j 0
- v; `9 N5 Y o2 W& L4 s8 J% \$ c let nodedistance 0( t3 g5 A/ C# G; x
let linknumber 0
: G+ Z+ S1 T/ C
8 w) o: h3 y9 B. J, f while [j < count turtles]
( v, k9 ^7 a5 T [
' t9 I, n0 A% j7 f- u: q while [i < count turtles]
) {6 u- n O( O, d7 t( y7 R% Z" G& \ [ if link-neighbor? turtle i8 x$ e5 m& N2 h4 a) u+ Z# g, P9 S
[ask turtle j [set nodedistance nodedistance + distance turtle i]
8 T: v# Q9 X$ O ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
; ]: p9 G4 [2 s' v% m( z y ]% C. s$ R3 N5 r/ G' e" e7 H; }. @
set i i + 1+ ?1 `1 Z9 E) t" p
]
. L/ i* b; @2 s- n( M. d+ ?% Z" a7 s set j j + 1
. v- T+ w2 ?9 C7 o! ], j' J3 [( x ]
) _' z d" L) e. r' ]# O1 a, o. H set average-path-length nodedistance / (linknumber * 2)4 q" I, H" ^1 m+ c; q
end |