我新调试好的程序如下,应该是对的,供参考
3 E# c$ e1 `+ @1 B+ _* a因为特殊要求,这里的边的长度是二维座标内的空间距离
* M1 r, o' V" S, w" X% q+ j! p, ]+ ]: d+ Z5 A- \3 N$ _$ Y( x
to find-distance
z6 \* x* G" y8 l# _; I let i 0" X2 ^- J/ a" I8 @- S6 f' i
let j 0; V. P9 p6 F6 U
let nodedistance 0
" j( z/ g8 A1 G6 W" j let linknumber 0
5 n- o. S z k5 Z 9 Q* n1 q9 U) C S4 Z" C: ~
while [j < count turtles]
, D# G/ n3 X1 F% D3 J" ^; t [
& H) i" L1 p$ f1 I! {3 f1 J7 I" q while [i < count turtles]# i8 |: Z. s5 R/ U0 x( `6 @
[ if link-neighbor? turtle i3 Q x% U* N) u3 i
[ask turtle j [set nodedistance nodedistance + distance turtle i]
; H( J, W/ S! _9 l, Z9 G9 e; P; S ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]+ B8 V5 C1 m+ J6 p5 V
]
/ L' C4 Q( P. H, ?- D* ] set i i + 1
5 G: D1 N% q5 W+ o* s6 y ] 6 B$ P* i3 N1 f8 P2 E1 s
set j j + 1
5 f f: I' r# w) i ]
( v$ ?$ ]8 [6 e) p) h set average-path-length nodedistance / (linknumber * 2)- R; w9 R9 [7 w/ W6 A& s* m
end |