我新调试好的程序如下,应该是对的,供参考
! I, h8 v5 k6 O% s5 T$ W; s因为特殊要求,这里的边的长度是二维座标内的空间距离
( Y `/ z3 i0 ?, t& F/ r6 E( q. z& x) i- o1 b; x8 k
to find-distance$ k0 `) w5 H, v' I0 P
let i 0
$ h2 @# V! |5 n1 Z% S4 o) l let j 0
# W! M( ]9 s! N2 j7 o6 @4 O let nodedistance 0
! v" n) J! u. N% Z! o' y; u let linknumber 02 |5 I0 A& S% r- y: N# X Q& L
/ I1 _& d- w8 P" ~ A
while [j < count turtles]
2 P% j7 ~) E- B( F [
h' Z, H8 F `' r2 ` while [i < count turtles], Y1 v9 U( U/ a) C$ H
[ if link-neighbor? turtle i( U' q) x( R7 p+ s3 e" e
[ask turtle j [set nodedistance nodedistance + distance turtle i]
7 W8 e5 N( K+ ~* U ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]& M" O: q$ i( B: H$ G0 a4 ]
]' J- g& \5 v8 ]8 D3 V
set i i + 1
, t' [3 {8 @+ f: I ] $ x5 v9 p; B4 M6 X: E7 G, Q( P4 n
set j j + 1& P4 x! s2 i; Z
]
$ _: x- B9 Q6 ?4 W% N; J; k4 S set average-path-length nodedistance / (linknumber * 2)" g4 Q& S$ u, \+ ?
end |