我新调试好的程序如下,应该是对的,供参考
1 E" R3 d% w$ N. F/ @' ?" G' @因为特殊要求,这里的边的长度是二维座标内的空间距离- j: @$ @& ?0 a7 c. W, t
! O- g& j4 @6 y/ N" b. \& G
to find-distance4 ]! K) z. Y' O& q
let i 0
' k( z/ U! b/ ?6 ~8 B+ v; o, n1 } let j 0
: ^: ?( f1 o! o, Q- t' c4 ~0 I) w- y let nodedistance 0
d0 ~/ A+ S2 y2 B7 j' M7 g let linknumber 0/ T' t: f! K. S, y
$ ^" s) R5 j9 K
while [j < count turtles]
. C2 }. F( u+ w8 Q/ e8 b% b: p [
: {, A. |( E) X; X3 }% v# h while [i < count turtles]" a+ h: B& e& y1 P
[ if link-neighbor? turtle i
' J0 X1 X! S4 F5 M [ask turtle j [set nodedistance nodedistance + distance turtle i] A/ }) T; l7 S8 F a* U; }" _3 k
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
/ S& E8 y y" W& ~% A: n ]9 T2 _5 r9 j, @' `( L: f& P2 h' D
set i i + 1
' w2 @% y. z3 F% `( G+ { ]
7 }" t0 i$ n+ @; v u0 A" Q9 [ set j j + 1
. z# S5 P3 M* ^8 y ]
' t& F: ~" d9 E `- U' ?# r set average-path-length nodedistance / (linknumber * 2)4 T' [$ U7 d$ s8 _& e, _" S
end |