我新调试好的程序如下,应该是对的,供参考
0 y* B- a2 i& h/ @" v, r( q因为特殊要求,这里的边的长度是二维座标内的空间距离- s1 I" k9 j5 |! e: L; Z9 x7 V
4 E. [0 w9 J0 ]* H. K# C1 F% Xto find-distance. i4 N+ W' e; {
let i 0! a+ D, A4 c2 O9 [/ |
let j 0" o/ C# n6 ]5 o
let nodedistance 0
. C4 N: p+ `: o8 s, H2 h' _2 L let linknumber 0
: u/ q: ~" u+ G( s( @ ' }: _, i" g0 H4 I
while [j < count turtles]
, U8 _5 _, o7 Q+ a# M [ z6 f+ Q$ H) s2 V9 B" Z
while [i < count turtles]
+ V" l* ]' N8 z7 L) H; A [ if link-neighbor? turtle i
" E9 N/ d% D( e [ask turtle j [set nodedistance nodedistance + distance turtle i]
2 g/ R4 l. W% l" m ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
& z T1 A& c" A9 `5 n& D! { ]
7 n1 ~ U' ?' o% n; J) B set i i + 1, x1 _: W' f: d/ t, I ]! E; E
] ( [3 q9 x9 N- E1 x4 ~1 A! I
set j j + 11 J$ x6 Y7 N% h2 j. V
]* M" O% u" u/ |0 ?2 M! ^
set average-path-length nodedistance / (linknumber * 2)
3 L5 @( I" G: n/ }# Rend |