我新调试好的程序如下,应该是对的,供参考
: W! E6 t; `( {因为特殊要求,这里的边的长度是二维座标内的空间距离
}& s$ x, J2 W8 z( h$ {4 Z3 E$ ?* l/ r4 n
to find-distance
2 [ U$ u0 i7 j0 t) G let i 03 h4 f8 B6 V7 |3 L J4 f
let j 0
8 r& B4 Y9 c h4 q, Q* j6 ^5 Z let nodedistance 0( g: R. a8 g1 L" ?! }* p8 Z
let linknumber 0$ A! m! c& m( G' B% s
* L+ p) F9 S: m4 C0 x" @ u while [j < count turtles]6 f8 z/ ^( k P; j; F
[ F7 H, [6 u' u+ s
while [i < count turtles]
- v: u: l6 g6 w0 B' u9 m [ if link-neighbor? turtle i
0 e$ q: O! x$ j9 A( r [ask turtle j [set nodedistance nodedistance + distance turtle i]
$ _6 C7 m! o; u* R, @* n' O2 T ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
$ d7 f% x% g4 F3 y' j ]! Y% C- Q/ k$ {
set i i + 1
* E, a2 M6 I/ z9 Q/ K1 Z1 I. S* g$ S ]
, G4 H6 d( N' H/ j& A. H: @ set j j + 1' n# z6 _+ h, v" @1 F, w
]0 x6 ]; B8 [. g9 t+ P+ U* b
set average-path-length nodedistance / (linknumber * 2)
: Z/ ?; B# A$ {" z8 Q: ^end |