我新调试好的程序如下,应该是对的,供参考
' O# f+ o# K& C: G4 A因为特殊要求,这里的边的长度是二维座标内的空间距离
! |2 T$ \+ }5 o, |/ }; W
* b! I5 M& l. l! ]to find-distance
$ _" k, G6 ~0 h, F* I# L let i 0' g% u3 l; G: [ E, e9 |# u \, K
let j 0" z' Q3 U3 z; [* B* d1 R" a3 [
let nodedistance 0
/ t: S# r0 W. e let linknumber 0
4 {+ R" ~8 T1 G/ w; k% ~. V7 r
# i8 _' }- V( Q3 U while [j < count turtles]
# z: \; m/ _6 }) c/ _" x4 m [3 i- ~* L1 G. \9 K+ e1 ~& o
while [i < count turtles]
' y: P: m+ M. Z3 G [ if link-neighbor? turtle i
% m* {6 L% F9 X- X/ T [ask turtle j [set nodedistance nodedistance + distance turtle i]
+ ] Q3 W5 O1 @% G, A ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
; A& m m, C8 q# _6 k! f9 J; A; R* [ ]" V* a( I8 r* |: H- u
set i i + 1! ~6 P- i/ R. @# e+ n
] 7 _0 l9 J0 Y/ i; h V
set j j + 1
: W& ?: A3 c8 E# X. c6 g& j ]+ I6 ?% c3 p9 G% d1 s9 `+ S! C
set average-path-length nodedistance / (linknumber * 2)* m* x- V7 n) }' Y9 y p; B* l X* _2 z
end |