说明:找到vector前一半元素中等于some_val的那些,然后在这些元素的前面插入它的2倍。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
#define LENGTH 10
typedef int TYPE;
typedef vector<TYPE> VECTORTYPE;
void print(VECTORTYPE & );
int main()
{
vector<int> vint{0,1,2,3,4,5,6,6,7,7,8,8,9,10,11,12,12};
vector<int>::iterator iter = vint.begin();
vector<int>::iterator mid = vint.begin() + vint.size() / 2;
int some_val = 6;
while(iter != mid)
{
if(*iter == some_val)
{
iter = vint.insert(iter,2 * some_val);
++iter;
++ iter;
++ mid;
}
else
{
++ iter;
}
}
// print(vint);
return 0;
}
void print(VECTORTYPE &vec)
{
for(VECTORTYPE::iterator i = vec.begi