我新调试好的程序如下,应该是对的,供参考7 t2 W- k, H; N# `
因为特殊要求,这里的边的长度是二维座标内的空间距离7 @0 G+ t. y& ~# `0 H$ k
' N* z2 b H* ~1 P1 j& e
to find-distance
% Y! h, v9 t( e. ]% m. M, g, a9 t2 e let i 0; b7 }1 T- r" u4 C2 U' j/ j
let j 0
; ? u6 Z4 a1 v7 N- J$ V let nodedistance 0! u. ~6 A1 ?+ @
let linknumber 0
5 F5 t& n' Y2 k. l / R3 x, R" w, V0 C/ m
while [j < count turtles]7 Y$ F4 f& Z* L3 B. L: c
[
. n1 o' p- j& @- P while [i < count turtles]' c9 A$ L: E+ h w+ W* t9 v
[ if link-neighbor? turtle i
+ t9 y" a% p" K$ I& y: z$ U [ask turtle j [set nodedistance nodedistance + distance turtle i]7 V5 g1 m" l0 A$ k$ @6 \5 l
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
: s$ L( k* m* g+ C+ J ]
% R" d1 }: |6 {" B0 G( A* L set i i + 1
' I# u" S4 P6 X- h; @ ] ' O n& }# Q0 s [& v+ P8 Q
set j j + 1
8 i6 C+ S1 m1 Q2 X ]* ~+ u) A ?2 m/ _: r
set average-path-length nodedistance / (linknumber * 2), d! ~/ s, r" G" z
end |