如何在地图c ++中获取第三个元素(从头到尾)

用户9857651

我想在不迭代地图的情况下访问第三个元素(以正向和反向顺序)。

int main() {
map<int,int>mp;
vector<int>v={1,4,2,5,4,2,5,7,6,9,7,9,8};
for(int i=0;i<v.size();++i)
{
    mp[v[i]]++;
}
return 0;

}

这里的预期输出是 4 2 和 7 2。

萤火虫75w

您可以使用std::advance函数,但请注意,地图容器不是为随机访问而设计的,因此即使您出于性能原因避免自己进行迭代,无论如何都会发生在幕后的情况,从而提供了线性时间复杂度。

// forward iterator
auto it_fwd = mp.begin();
std::advance(it_fwd, 2);    // go to the 3rd item from the beggining

// backward iterator
auto it_bwd = mp.rbegin();
std::advance(it_bwd, 2);    // go to the 3rd item from the end

std::cout << it_fwd->first << ':' << it_fwd->second << '\n';
std::cout << it_bwd->first << ':' << it_bwd->second << '\n';

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取数组的每个第三个元素

如何计算caffe convnet的第三个元素?

如何删除向量的每个第三个元素?

如何从两个DataGridViews中获取数据到第三个DataGridView中?

如何获取Exception OSError的第三个参数?

如何从两个相关表中获取数据并放入第三个表

如何从laravel中的第三个表中获取值并按id降序排序

如何从链接列表中递归删除所有第三个元素?

如何对列表中的第三个元素进行变异?

如何从 Jmeter 中的 JSON 数组中提取第三个元素

如何从Google Apps脚本ContactsApp.Month枚举中获取第三个值

如何从jQuery中的.each循环中获取第一个,第二个和第三个元素的值?

VBA:如何在与工作簿比较时获取行数据并复制第三个工作簿中的数据

如何从两个表中获取ID列表并在我的SQL中传递第三个表

如何检查第三个列表中是否存在两个列表的元素组合?

如何添加两个不等数组的每个元素并将其存储在第三个数组中?

如何通过从头到尾移动N个元素来旋转数组?

如何在Java中从头到尾清理空格?

我在C中的(char *)元素数组上有三个循环。为什么第三个失败?

合并两个地图以在Terraform 0.12中创建第三个地图

给定第三个键,如何在字典中交换2个值?

如何在R中获得每三个月的第三个星期五

python,xml:如何通过元素名称访问第三个子元素

Excel:如何在Excel中从头到尾添加一列,从头到尾添加另一列?

Dropbox 如何在第三个数据分区中工作?

如何在AngularJS中向可编辑内容添加第三个按钮?

如何在字符串中查找第三个“ _”的位置-JavaScript

如何在jQuery中定位父级的第三个子级?

如何在Android Alert对话框中添加第三个按钮?