我新调试好的程序如下,应该是对的,供参考
6 H0 V! `/ Z) b- E因为特殊要求,这里的边的长度是二维座标内的空间距离
2 z( s- Q* V/ [1 a! E$ B: U
# Q, _; x3 Q6 B" [! h/ {0 O( Vto find-distance
8 s: {! O2 C, s% c let i 0
" d9 i, d8 L2 L" n- I1 h, ~2 t \ let j 00 J O( \) I, p: H# x, l
let nodedistance 0- p" A( u% c1 k
let linknumber 0
" e( C) j) f M
) {% B" T& Z; Z* j3 p! N' T6 } while [j < count turtles]
( z% K0 ^/ j; ^5 q- t3 f; r [% |2 C+ _, t( S! X, W' B
while [i < count turtles]8 c8 R3 J" O3 X L
[ if link-neighbor? turtle i( C% o7 ^9 H9 p2 b5 @: y: {
[ask turtle j [set nodedistance nodedistance + distance turtle i]9 ?: F# |5 n6 N8 G. j
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
4 X/ E% |0 J6 n+ J( [& X; w ]/ D3 _/ E# l D, _/ @- \& i
set i i + 1
$ w0 M9 `1 L: H5 F U ]
$ m- J! ?+ s# t0 \; I set j j + 14 W b3 a; I- p4 C3 p8 \
]) M5 y0 }8 p/ k) I6 S8 {
set average-path-length nodedistance / (linknumber * 2)
! ?5 a% W# |5 a" N6 D; ~* vend |