gpt4 book ai didi

c++ - 将 vector 中的项目与 vector 中的所有项目进行比较

转载 作者:行者123 更新时间:2023-11-28 01:56:55 24 4
gpt4 key购买 nike

所以我目前有一个自定义结构的 vector 。

我的 vector 中的每个元素都是一个图形点 (x,y)。给定 vector 中的索引,我需要能够计算给定索引与所有其他点之间的欧氏距离。我已经知道如何计算欧氏距离,我想知道的是如何在不旋转的情况下检查 vector 中的任何元素与所有其他元素。

例如在我的 vector 中,如果我有:

(3,5) , (4,6) , (7,8) , (5,3)

作为一个例子,我得到了索引 2 (7,8) 我需要能够计算 (7,8) 和其他 3 个点之间的距离,因为我对找到最短路径很感兴趣。我想过使用 std::rotate 函数并将 (7,8) 移到前面,但我不想弄乱我的 vector 。 有没有一种方法可以在不更改 vector 的情况下为我的 vector 中的元素指定一个索引并将其与 vector 中的所有其他元素进行比较,以便我可以进行计算?谢谢

最佳答案

for(const auto& i : yourvector)
compare(i, yourvector[foo]);

如果可以循环遍历 vector ,就应该这样做。

否则您可以对 vector 进行排序,将最接近的元素放在最前面:http://www.cplusplus.com/reference/algorithm/sort/

关于c++ - 将 vector 中的项目与 vector 中的所有项目进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40826560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com