//点的结构体
typedef struct{
int x;
int y;
}Point;
typedef struct{
Point point1;
Point point2;
double dis;
}DPoint;
double getDis(Point p1,Point p2){
double dis = 0;
dis = sqrt(pow(float(p1.x-p2.x),2)+pow(float(p1.y-p2.y),2));
return dis;
}
//用flag进行标记是以x还是以y进行排序
//以第一个元素作为基准点进行划分
void sort(Point* p,int s,int e,int flag){
int i = s;
int j = e;
Point x = p[i];
if(s<e){
if(flag==1){
while(i<j){
//重右向左找小于x的
while(i<j&&p[j].x>=x.x)
j--;
if(i<j)
p[i++] = p[j];
//重左向右找大于x的
while(i<j&&p[i].x<=x.x)
最近点对算法C语言实现
最新推荐文章于 2022-05-06 22:24:17 发布