当前位置:  开发笔记 > 编程语言 > 正文

循环遍历向量中的所有(无序)元素对

如何解决《循环遍历向量中的所有(无序)元素对》经验,为你挑选了0个好方法。

我有std::vector一些数据(在我的情况下是点),我想循环遍历所有不同的元素对.对的顺序并不重要(因为我只对点的距离感兴趣).使用经典for循环,我想要做的是:

std::vector vec{-1., 3., 5., -8., 123., ...};

for (std::vector::size_type first = 0; first < vec.size(); ++first) {
    for (std::vector::size_type second = first+1; second < vec.size();
         ++second) {
        // Compute something using std::fabs(vec.at(first)-vec.at(second))
    }
}

我现在的问题是,如果使用基于范围的循环可以更优雅地实现这一点.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有