我新调试好的程序如下,应该是对的,供参考
2 ^! V- t2 r% |5 ]6 i' a& y因为特殊要求,这里的边的长度是二维座标内的空间距离$ u3 N( Q( R, a% n+ S
$ E: j7 v( U |, \: i" g
to find-distance
, Z S9 e5 _1 p1 { let i 0, |! W5 `3 j6 @4 O# z5 E& Y8 U M
let j 0/ f9 F; r$ U* |' n+ |% l
let nodedistance 0% ^! i; n& L, W6 W ~/ O
let linknumber 0
* v5 ~5 c; }4 }/ B n, ]. x, a1 |$ a2 e8 b/ |) a
while [j < count turtles]9 B! Y( g% `. i8 U# q5 e
[
: |2 S. b" c7 a- Q# ] while [i < count turtles]/ o) G" a6 G, r5 D! g
[ if link-neighbor? turtle i" F9 T/ r6 S. {, T7 {
[ask turtle j [set nodedistance nodedistance + distance turtle i]
8 M' q# j% Z2 b9 B& F7 K; M ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
& q) l J: h& N" E7 A ]; a+ h$ j9 {, ^# { Z* Z9 @
set i i + 1
! {* J) f& N3 E6 H ] 9 F& \+ d4 l# C0 b( F& z; n( W
set j j + 1
& J7 O! a# Y1 ~& N5 N, r G$ y ]3 J2 `; Y) y# E
set average-path-length nodedistance / (linknumber * 2)7 R6 X3 ?" T. M& H
end |