我新调试好的程序如下,应该是对的,供参考
8 w- o- g Y9 V" X D因为特殊要求,这里的边的长度是二维座标内的空间距离
" d# e! V1 A: x4 V
$ {3 z! n+ `4 M; v% d8 S/ lto find-distance
/ m# Z- V9 b3 Z0 t/ H/ { let i 0; Q) _! A0 B5 k/ U9 p
let j 0! ` n7 a! U" |* M/ o7 V+ L
let nodedistance 0% v% k, R) e& N1 n3 @4 X0 [
let linknumber 01 ~- V8 r4 }9 j! q1 p* T" W
5 n) \7 ^1 A. s' K' m- t! i
while [j < count turtles]
3 a: _+ O2 l, O; X/ T2 s4 V& a [9 ]& B' ?* w1 r5 _
while [i < count turtles]0 r* M: N5 {8 s* z) }
[ if link-neighbor? turtle i/ U! }8 Z) h" ~6 x4 V7 }
[ask turtle j [set nodedistance nodedistance + distance turtle i]4 W: v+ e: h6 p: x( t7 r
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]. d8 j ?# x9 s+ h
]4 A' J0 T: F! }7 I/ o. B6 I" O& [3 W
set i i + 1
0 j' a, J; b$ Q v ]
3 K/ Q, `3 b/ m+ w- v. A set j j + 1( d9 y& ^# B+ ^8 m' Q
]
`, s' p! P5 ]8 } set average-path-length nodedistance / (linknumber * 2)
) r2 U! z& H0 }) _$ W0 q/ Kend |