gpt4 book ai didi

C++如何找到 vector 中最后一次出现的元素的位置

转载 作者:行者123 更新时间:2023-12-03 06:52:40 25 4
gpt4 key购买 nike

假设我有一个包含数字的 vector :10 10 58 31 63 40 76。我想找到最小元素最后一次出现的位置。最小元素是 1010 最后一次出现的位置是 1

我试过使用反向迭代器,但我还是有点困惑。

最佳答案

假设 vector :

std::vector<int> v = { 10, 10, 58, 31, 63, 40, 76 };

您可以使用反向迭代器和 std::min_element 获取最后一个最小元素:

auto last_min = std::min_element(std::rbegin(v), std::rend(v));

然后使用 std::distance 获取距 vector 开头的距离和 "base" of the reverse iterator :

auto last_min_distance = std::distance(std::begin(v), last_min.base());

最后减一得到索引:

auto last_min_index = last_min_distance - 1;

关于C++如何找到 vector 中最后一次出现的元素的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63659755/

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