我新调试好的程序如下,应该是对的,供参考
/ ^3 Q' z, z: {4 i/ a' n' f3 J" l7 R因为特殊要求,这里的边的长度是二维座标内的空间距离
* M9 g0 ~2 Y2 v/ ~% I
, _. p4 I3 D5 v" @to find-distance, j& p$ y1 Y, {4 z
let i 0
; R) D6 X2 C# v( [ let j 0
3 [' v0 g" K8 V, w1 g6 \* g let nodedistance 01 F% V6 }' X5 i( |# b
let linknumber 0
' Q& S( Z1 b% p$ X. ~
, j& k# h3 _" [) R, e4 b while [j < count turtles]
0 F- B( y: C8 \1 s: p# Y$ l6 b: q [/ ~. A) f8 J* R$ ~& x9 B* F" j
while [i < count turtles]% l8 w) `" @. ^& M3 ?
[ if link-neighbor? turtle i
) f6 a0 }4 f% d* J5 n+ \4 J [ask turtle j [set nodedistance nodedistance + distance turtle i]
: t! ~* Z' n5 R ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
\' d7 l, t+ J$ _6 ^ ]& g' J0 F5 X: i/ v! k4 M
set i i + 1( } D7 W7 ^& b1 P; ?* v* \
] : m$ ^ d# Z. @, z2 Y
set j j + 1! [- k% i, @4 q
]
. d! T6 D% T0 D8 e% h$ j7 m0 ^; L set average-path-length nodedistance / (linknumber * 2)- q+ P7 q% W+ I4 c
end |