public ClosestPairDTO ClosestPairBUS(List <Point> p) { if (p.Count < 2) { return(null); } ClosestPairDTO m = new ClosestPairDTO(); m.distance = double.MaxValue; double temp; for (int x = 0; x < p.Count - 1; x++) { for (int y = x + 1; y < p.Count; y++) { temp = CalculateDistance(p[x], p[y]); if (temp < m.distance) { m.distance = temp; m.p1 = p[x]; m.p2 = p[y]; } } } return(m); }
private void btnTim_Click(object sender, EventArgs e) { Read(); Display(); ClosestPair findmin = new ClosestPair(); ClosestPairDTO min = new ClosestPairDTO(); min = findmin.ClosestPairBUS(p); lbPoints.Text = "(" + min.p1.X + "," + min.p1.Y + ")" + " và (" + min.p2.X + "," + min.p2.Y + ")"; lbDistance.Text = min.distance.ToString(); }