我新调试好的程序如下,应该是对的,供参考
1 M9 ^! R- a. V因为特殊要求,这里的边的长度是二维座标内的空间距离) l e3 L) h8 d, i
* F( m$ t' ^( h: D' ?, g( hto find-distance6 q1 j- l/ t# D3 z/ ]
let i 0 d" I) k5 F+ K* l2 ^
let j 0
) Q9 E( w) q4 R3 A9 P- `* ^6 d let nodedistance 0) @! u; G$ L" I+ e
let linknumber 0
) P* Y# u; m/ \ : U/ z0 o& C5 b" A! t) X( J; \1 J* X# O: W
while [j < count turtles]
3 |8 {, S# O5 e: r5 d [5 L) ?9 V' z- V6 R
while [i < count turtles]5 H' F) q5 V) j. o
[ if link-neighbor? turtle i
9 ~2 M. p$ n5 @' D: Q5 f s [ask turtle j [set nodedistance nodedistance + distance turtle i]
4 Y3 g/ @# B* E5 _, i ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]% Y' X: |1 n3 \9 t
]: u% n0 H. ~% A' N6 N
set i i + 1$ O' q2 l- W$ e& x- c( x
] $ t0 F9 ~: L5 b# c8 C1 S
set j j + 1- c& B9 e+ K! c3 o1 U; ]9 J
]
! j u6 V5 U) {0 Q; [ set average-path-length nodedistance / (linknumber * 2)+ G, g- s, V b" A
end |