// Test of closest pair algorithms
// David Eppstein, UC Irvine, 20 Apr 1997
//
// Cheapest insertion TSP application
// CheapestInsertion must be given a CheapestInsDistance else results undefined

#include "Algorithms.h"

extern CPApplication CheapestInsertion;

class CheapestInsDistance : public PointSet {
	PointSet & base;
	point * partners;

	friend extern CPApplication CheapestInsertion;
	
 public:
 	CheapestInsDistance(unsigned long npoints, PointSet & b);
 	~CheapestInsDistance() { delete &base; delete partners; }
 	double operator() (point, point);	// compute dist modified by partners
 	void interact(point, point);		// merge two frags by repartnering
};
