我新调试好的程序如下,应该是对的,供参考
4 h, E: I" k( s7 t, f9 e; ~因为特殊要求,这里的边的长度是二维座标内的空间距离
/ ^+ p# ], e3 P' h0 @* h) c8 u) i. U8 h# T
to find-distance1 L! Z. |' M& V2 h3 X
let i 07 l. f- I: c, Z/ B1 z# G3 N
let j 0. }4 z3 K1 L9 Z! x9 O4 P' h) F6 V
let nodedistance 0
|7 K# k$ u7 w9 V7 c: c5 O let linknumber 0
. V. n6 V& I) I7 }' J6 } + \5 \$ ^9 q6 }, j
while [j < count turtles]( J, g- e4 o2 _2 p: H" [
[
9 |1 Z* J% y1 U1 a' n2 X8 D while [i < count turtles]
, k8 n! J* m0 F3 ] [ if link-neighbor? turtle i
8 N( d& K* @$ T9 n; L [ask turtle j [set nodedistance nodedistance + distance turtle i]( B' |& H7 ~. b6 w8 t
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]4 ]/ j& W: W0 ]; M$ t
]
# t, r( v, A, ~3 N( }7 i/ W7 `( p set i i + 1% B0 V% Y5 C7 l" [' w8 z2 u
] 7 e5 H" M4 ]/ `: ~8 v
set j j + 1
1 ?7 j- q% k8 O5 M5 e! C1 }% r ]
8 [; M4 @2 u* g set average-path-length nodedistance / (linknumber * 2)
0 ~6 { T3 v, p) f% v: J" E, }end |