我新调试好的程序如下,应该是对的,供参考
6 v3 R& E* k, u! g0 T+ e: S因为特殊要求,这里的边的长度是二维座标内的空间距离
8 ~' M5 U% e0 X i: b4 V7 `) r
2 y& d- ^8 U5 K8 m8 [' d4 t- Sto find-distance. `3 L0 R! T* G3 I6 k+ c, N
let i 0$ r% Z4 Y$ S5 A4 m9 w& W/ x
let j 0
6 z! K$ H+ E' P% G let nodedistance 0
3 S" k3 p+ o* k" s9 q, u! { let linknumber 0 o1 T8 j3 H9 ~
! X! T! E, E6 Z# W1 T6 T0 }: _ while [j < count turtles]
) _& [& L" P2 f" t0 a [/ g' K& F) s1 e0 X3 }2 d8 @, @) l
while [i < count turtles]& Q% X: K3 E4 r
[ if link-neighbor? turtle i
9 }& U# A! k6 U9 e/ a% p. p% ~ \ [ask turtle j [set nodedistance nodedistance + distance turtle i]
- ?+ ~8 }) v% t" t ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
* S# p! I* j3 f+ k+ n ]
' |) X" T' I1 X0 e set i i + 1( {9 W: ^5 ], A) y# N
]
) x2 U3 v7 ~' E8 l$ x; a' h4 F set j j + 14 K$ l" S5 D' u; P& L$ L( m; A3 u5 @
]
( f9 C- A2 O$ j6 Y, \: d set average-path-length nodedistance / (linknumber * 2)
2 H/ W2 N* g. s. O" ^end |