我新调试好的程序如下,应该是对的,供参考) J3 f- A. {$ n( C9 y
因为特殊要求,这里的边的长度是二维座标内的空间距离
6 b: v- J% F+ G" J3 r# [9 D
8 b0 L6 p2 z! p+ o8 Dto find-distance
- E8 i3 e5 b6 ] B1 Q$ g/ N9 j/ c let i 0
V! K' _1 M) Y, V let j 0
# U# O7 g% `3 g+ L, }% L. l let nodedistance 0
, B) B5 z4 W# J1 Y3 G7 [% p8 n, \9 W let linknumber 0) k! D7 K: Z1 ]+ p* U
& K2 {" o( [3 ]3 i2 I3 Z( N8 j
while [j < count turtles]. m \) a1 a2 U6 H7 \
[) j$ x% F1 @# ]: E, _$ M3 O4 i
while [i < count turtles]* K. q1 J, h) r& u( B& C, M+ U" w
[ if link-neighbor? turtle i
# T+ h+ S! V- ?8 d ?' j: R4 _ [ask turtle j [set nodedistance nodedistance + distance turtle i]
% s4 Z" X& ?5 v& g) P. B ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]' M, H+ _0 `* k- L) F1 b
]
5 S( p: d& [; a4 j9 B/ g set i i + 1; ~4 j, e* o8 ^& R2 l
]
* @7 Q* x2 K ^$ L. \9 q set j j + 1/ R" O, e$ o5 E3 i- f( s
]
9 D0 z# L/ x( Z5 A; T+ [1 ~ set average-path-length nodedistance / (linknumber * 2)
% G( W! v. m1 T* M* ~2 m" S* k Jend |