问题描述:
在二维平面上的n个点中,找出最近的一对点,就是最近点对问题。
代码如下:
#include <iostream>
#include <math.h>
#include <algorithm>
using namespace std;
/*--------------顶点坐标*/
typedef struct Point{
double x , y;
};
/*--------------操作顶点坐标*/
typedef struct TPoint{
int index;
double x , y;
};
double d = 10e6; //----初始化距离
/*--------------按x排序*/
int cmpX(Point a , Point b)
{
return a.x < b.x;
}
/*-------------按y排序*/
int cmpY(TPoint a , TPoint b)
{
return a.y < b.y;
}
/*-----------计算两个顶点的距离*/
double distance(double ax , double ay , double bx , double by)
{
do