我新调试好的程序如下,应该是对的,供参考
5 H0 F( `4 _( \因为特殊要求,这里的边的长度是二维座标内的空间距离
, b8 g+ j' [ V
- N6 J7 ^# J! w5 p- W# A7 Y' Kto find-distance8 {7 N+ G8 |( U u" U+ ^. a" w4 _
let i 06 W6 x* }8 d3 W5 g: [; D# m; m
let j 0
) n8 c6 ?4 f, \" W let nodedistance 0
$ \7 W5 e& ?3 s let linknumber 0
* ~1 f& r: h" o- A/ H
g, |; ~, f3 I& P* } while [j < count turtles]3 Z& h( ^' U! R2 _4 t' m
[8 q( x3 q p8 v( j; k9 W, q7 t
while [i < count turtles]
" z' K' |8 e1 U0 g6 O [ if link-neighbor? turtle i$ h' Q3 d" s& G3 N: L8 E
[ask turtle j [set nodedistance nodedistance + distance turtle i]
* n0 `- H5 ]4 j9 p! m ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]2 P2 g7 h# A+ |* ]9 ?3 b7 R7 t1 _
]5 S4 `+ u% |5 _4 G' Q) v1 x
set i i + 1
6 ~; W0 | [5 |0 A! J7 Q/ E: M ] _$ Y5 U& u& @& s5 \" J- H, W
set j j + 1- q* b( K5 Z Q
]
& N/ b4 v6 G7 W& I; ? j set average-path-length nodedistance / (linknumber * 2)4 t; h8 n7 B; P c Z
end |