我新调试好的程序如下,应该是对的,供参考
( b2 B j6 t! |! L" {+ V因为特殊要求,这里的边的长度是二维座标内的空间距离
7 O, R, c6 U0 V
) s! c! E) ]% i/ S$ c' W$ p) [$ Yto find-distance
) E& F6 P4 M, @. G. |( b; v let i 0/ j% Z E6 J2 J- M1 `3 ]2 N
let j 0
$ B) m# `" g" v1 g( G let nodedistance 04 V- X+ W6 Y* C
let linknumber 0% C1 \: {" a$ r) h* O3 |7 Z( q$ Y
/ [/ z7 i& X4 C/ d! j. P6 u
while [j < count turtles]
# n9 B4 Y# C* r1 E! Z6 C& ~- P* n [
& b: T4 b g, L B( X2 [ while [i < count turtles]9 k- T# Z7 C: F/ d$ W. D
[ if link-neighbor? turtle i
7 j( O. m! I* A- }1 j [ask turtle j [set nodedistance nodedistance + distance turtle i]6 Q$ \% p! t2 F, L. B2 j
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]( G, N# S0 s/ ~% L/ W
]/ P2 v/ K( z) Q/ r
set i i + 1; t9 [/ t! N: y1 J0 n
] 8 F3 w% [4 `3 o: k( z7 U7 R
set j j + 1
, @2 e$ V3 K r! D) G ]1 b3 V5 v, J) ?
set average-path-length nodedistance / (linknumber * 2)
& }1 @, |* O1 q) W/ m' E( ]! F6 send |