钓鱼爱好者的微信群:30分求解VB问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 17:38:12
输入一个自定义类型的数组(自定义坐标类型),其类型定义如下
public Type CityCur
x as integer
y as integer
End Type
设数组有10组坐标,分别为C(0),C(1).....
首先从C(0)出发,连接C(1),再从剩下的8组坐标中找出离C(1)最近的假设为C(K),再从剩下的7组中找出离C(K)最近的,以此类推...直到走完全程
最终得到方案V
救命啊

大概解题过程:
dim tmp,Max as long
dim index as integer
for i=1 to 7
max=(c(i).x-c(i+1).x)^2+(c(i).y-c(i+1).y)^2
index=0
for j=i+2 to 9
tmp=(c(i).x-c(j).x)^2+(c(i).y-c(j).y)^2
if max<tmp then
max=tmp
index=j
endif
next
c(i+1)与c(index)交换
next
得到的C数组为所求