当前位置:   article > 正文

分治法实现最近点对问题(C++)_c++最邻近点对分治法

c++最邻近点对分治法

最近点对问题

要求

  • 随机生成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];
              
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/562858
推荐阅读
相关标签
  

闽ICP备14008679号