我新调试好的程序如下,应该是对的,供参考
" f( L3 V$ ]6 w, e% R因为特殊要求,这里的边的长度是二维座标内的空间距离
' E$ s S$ Y! d) c! u* A& ~: E2 }- }5 B1 ]
to find-distance
]. U7 x" Y+ X/ @& S let i 0, y7 J! J9 y4 N. ?- R: b `" ], c
let j 07 U B" U4 E$ c! U
let nodedistance 0
+ L4 s1 O6 {+ J0 i let linknumber 0- C; P% M1 u$ Q" ~. I, ~5 W
( O8 Y4 {* z, p( f) V while [j < count turtles]
V$ `) C4 K: V [
X, [7 `) h2 m& y F while [i < count turtles]
, d( o+ D' F, U0 @; E' A [ if link-neighbor? turtle i
* X2 g7 A' J" t+ S& t [ask turtle j [set nodedistance nodedistance + distance turtle i]# K& ^* _$ X# u& W
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
3 `5 T/ A7 ]7 e Q9 x ]# s# n4 E5 A, J6 O6 R
set i i + 1
% B' B$ M/ T5 W. W4 y ]
6 C. p( H" T( h, C! W m, x1 X2 n set j j + 1
) \- x, Y. S g ]
, v* W% g: l% K7 g Y. x9 z6 S* Z set average-path-length nodedistance / (linknumber * 2)
3 D" w1 m$ n, n7 r8 |" M( xend |