C ++在迭代时使向量中的第一个元素成为最后一个元素

时间:2017-07-20 15:27:23

标签: c++ c++11

当我的向量的第一个元素满足某个条件时(第一个元素将始终是满足条件的第一个元素),我想将它移动到向量的后面。当我迭代我的向量时,我也需要这样做。这是我的代码到目前为止,它在插入

上打破了
for (vector< map<string, int> >::iterator iter1 = v.begin(); iter1 != v.end(); iter1++)
{
    for (map<string,int>::iterator iter2 = iter1->begin(); iter2 != iter1->end(); iter2++)
    {
        if (iter2 == iter1->begin() && (condition met))
        {
            auto x = *iter2;
            iter2 = iter1->erase(iter2);
            iter1->insert(iter1->end(), x);
        }
    }
}

0 个答案:

没有答案