C++ distance 如何与算法结合使用

avatar
作者
筋斗云
阅读量:0

在C++中,可以使用标准库中的算法和容器来计算距离。以下是一个简单的示例,演示如何在C++中计算两个点之间的欧几里德距离:

#include <iostream> #include <algorithm> #include <vector> #include <cmath>  // 定义一个结构体表示一个点的坐标 struct Point {     int x, y; };  // 计算两点之间的欧几里德距离 double calculateDistance(const Point& p1, const Point& p2) {     int dx = p1.x - p2.x;     int dy = p1.y - p2.y;     return sqrt(dx*dx + dy*dy); }  int main() {     std::vector<Point> points = {{0, 0}, {3, 4}, {6, 8}};      // 计算第一个点和其他所有点之间的距离     Point p1 = points[0];     std::for_each(points.begin() + 1, points.end(), [=](const Point& p) {         double distance = calculateDistance(p1, p);         std::cout << "Distance between (" << p1.x << ", " << p1.y << ") and (" << p.x << ", " << p.y << ") is " << distance << std::endl;     });      return 0; } 

在这个示例中,我们定义了一个Point结构体来表示一个点的坐标。然后,我们定义了一个calculateDistance函数来计算两个点之间的欧几里德距离。在main函数中,我们创建了一个存储点坐标的vector容器,并使用for_each算法来计算第一个点和其他所有点之间的距离并打印出来。

通过结合使用C++的标准库中的算法和容器,可以更方便地进行各种计算和操作。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!