我新调试好的程序如下,应该是对的,供参考
! V6 M* E( X' ^( |3 k% p4 I) w# v因为特殊要求,这里的边的长度是二维座标内的空间距离
# t2 ~6 @. _, G1 d5 e, m# Y! J0 w3 b
to find-distance# I; S$ z9 b: s4 i) E: C; m
let i 0
- ]' s/ J1 w8 h let j 0
( ~5 m' h6 {1 w8 e& p let nodedistance 0# j( N) `- d" m/ j! B5 u
let linknumber 0' S; m; k# H. P' s' n
, C' Q- H- E( m
while [j < count turtles]& ?; d3 l8 U* x( ^
[
/ J c( X& a+ Y) s- r& b. J5 x- i while [i < count turtles]% p, c- ?: i0 c( u+ v$ I
[ if link-neighbor? turtle i
A, E! {( U4 q: {$ q [ask turtle j [set nodedistance nodedistance + distance turtle i]
: H# r$ A* w5 M) Q9 T ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
0 X$ r( o, ^; e" V* H0 J( X* N ]# H# y, F( ^! z7 P
set i i + 1
: k" R4 O/ u1 g/ o9 p) o ]
3 t# X, }" Z' h/ D set j j + 1
$ z9 J$ E2 J6 D; k ]
( S" T* A. o# q+ L3 O set average-path-length nodedistance / (linknumber * 2)& L& L* f0 b4 H& q- D
end |