为啥我无法在向量中找到元素的索引? [复制]

Posted

技术标签:

【中文标题】为啥我无法在向量中找到元素的索引? [复制]【英文标题】:Why i am not able to find index of an element in the vector? [duplicate]为什么我无法在向量中找到元素的索引? [复制] 【发布时间】:2015-08-01 06:38:19 【问题描述】:

我得到了正确的max 元素,但不是最大元素的索引。元素的索引等于max 元素。

long int maxi=*max_element(segments.begin(),segments.end());

long int index=*find(segments.begin(),segments.end(),maxi);

【问题讨论】:

是的,因为它最大的元素。阅读find()的文档。 我投票决定将此问题作为离题结束,因为通过阅读文档可以轻松回答。 【参考方案1】:

试试这个:

long int index=find(segments.begin(),segments.end(),maxi) - segments.begin();

Find 返回一个 iterator 到最大元素,对于向量,它的行为主要类似于指针。你正在做的是取消引用它(它只是让你得到它指向的东西,最大元素)。相反,计算该迭代器与起始迭代器之间的距离以获取索引。

【讨论】:

以上是关于为啥我无法在向量中找到元素的索引? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

分配向量中元素的索引而不是其值

如何在向量的给定索引范围内找到最小元素?

为啥带有单个条目的python列表为-1索引和0索引提供第0个元素? [复制]

是否有用于查找向量中元素索引的 R 函数?

为啥即使元素存在,硒也会抛出未找到元素的错误? [复制]

找到向量集的最小元素