我新调试好的程序如下,应该是对的,供参考( k* _3 B3 \9 H0 C4 }6 P6 r
因为特殊要求,这里的边的长度是二维座标内的空间距离
- e& n. S: L8 p0 L4 g& H6 E+ z) ^# M) n8 j7 {4 X8 N6 U
to find-distance
7 g& o% o) {0 \; |! p8 A5 F let i 0, v% q$ o5 N. m- o: L) j
let j 0
, u6 Y3 @+ F2 w ]! v- M/ k" \ let nodedistance 0# w. h2 u/ X, Y% }, J) b3 z0 o; _
let linknumber 0
) Z8 m, N9 f) n( ?: p* E$ _ 5 F" F; k' J1 \5 L# e) r+ S
while [j < count turtles]( P+ x: f0 s0 d9 H, {8 T
[0 e1 V: R0 d$ v; Y& }* z, P9 ? f
while [i < count turtles]; k8 o4 {; ?$ O7 L. h
[ if link-neighbor? turtle i
+ @. y. q" ?- @1 U: _* e1 n: G [ask turtle j [set nodedistance nodedistance + distance turtle i]
) T( o, y8 v1 U4 s" r5 _ ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]: V) p$ l% J! w0 u6 H. @
]0 @; f+ U' }# H% W# U9 n. v0 n; J t
set i i + 1* i& O0 a% w# {1 E; A* l6 \
]
# T$ W2 u4 w- h set j j + 1' G" w. @' i7 ]# b8 _/ b
]
2 S6 i+ o2 j! Z1 @/ G set average-path-length nodedistance / (linknumber * 2)
+ O4 S. x) t, Y+ ]/ `end |