我新调试好的程序如下,应该是对的,供参考$ T# A$ n# g& A
因为特殊要求,这里的边的长度是二维座标内的空间距离
# m$ S3 O, ?/ a, R5 ?: C( }/ `6 x# X) [0 \# V: v* t% a
to find-distance
- e* Z4 z7 s( f# z0 e let i 02 E# H; N" o7 }; i6 I: r
let j 04 Z g6 t, F/ X; u1 x q0 R
let nodedistance 0
( L7 W# _7 m/ R' s; g, u3 ? let linknumber 00 ^& f% S5 ]: s! s7 D* [: M
5 p1 V% d9 r. h; L( d3 l while [j < count turtles]4 p2 F0 f! h5 t1 Z
[, z/ E6 B8 I9 r3 B
while [i < count turtles]
; W: O' G2 V% L! k: ?( h4 a [ if link-neighbor? turtle i# o$ h; z3 N0 K4 Q1 s4 k# f
[ask turtle j [set nodedistance nodedistance + distance turtle i]
" j, d$ A# m& L* y `$ ^4 | ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
- S# i9 M# T% X, | ]2 M7 `1 G9 u8 ]2 j5 b% o
set i i + 1
2 @' _- k- ~1 Y r ]
% `+ j$ y5 s$ Z r& M8 A set j j + 10 A7 T3 C/ o2 L d: \5 N- T9 d
]9 W: g; Q2 ^, Y7 L6 ^% {
set average-path-length nodedistance / (linknumber * 2)# }0 }- T4 z" {4 ]2 c r
end |