最近点对问题
要求
- 随机生成30个浮点数(1-10)之间
- 求出最近距离的两点
- C语言实现
#include <iostream>
#include <math.h>
using namespace std;
struct dot{ //点结构
float x;
float y;
};
void sortByX(dot dots[6],int num){ //将点按照X坐标从小到大排列好(冒泡)
for (int i = num-1; i >= 0; --i) {
for (int j = 0; j < i; ++j) {
if (dots[j].x > dots[j + 1].x) {
dot flag = dots[j];
dots[j] = dots[j + 1];
dots[j + 1] = flag;
}
}
}
}
void sortByY(dot dots[6],int num){ //将点按照Y坐标从小到大排列好(冒泡)
for (int i = num-1; i >= 0; --i) {
for (int j = 0; j < i; ++j) {
if (dots[j].y > dots[j + 1].y) {
dot flag = dots[j];
dots[j] = dots[j + 1];