在每个偶数特定数字之后,插入向量中
Insert in vector after each even value specific number
我需要在每个元素之后插入-20,但是我的代码不正确地工作,我做错了什么?
srand(time(NULL));
vector <int> v;
for (int i = 0; i < 15; i++)
{
v.push_back(rand()%100);
cout << v[i] << endl;
}
cout << "Vector after inserting new value: nn";
for (int i = 0; i < v.size(); i++)
{
if (v[i]%2==0)
{
v.insert(v.begin()+i, -20);
}
cout << v[i] << endl;
i = i + 1;
}
使用 i++
和 i = i + 1
无法很好地结束。
显然,只需插入元素时,您只需要两次递增i
。
如果要在位置i
之后仅插入元素,则需要使用
v.insert(v.begin() + 1 + i, ...)
vector <int> v;
v.reserve(15);
for (int i = 0; i < 15; i++)
{
v.push_back(rand() % 100);
cout << v[i] << endl;
}
cout << "Vector after inserting new value: nn";
for (int i = 0; i < v.size(); i++)
{
if (v[i] % 2 == 0)
{
v.insert(v.begin() + i + 1, -20); // We insert at the next position
i++; // We make additional increment only if insertion took place
}
}
for (int i = 0; i < v.size(); i++)
{
cout << v[i] << endl;
}
输出(带有线路的空间(
41 67 34 0 69 24 78 58 62 64 5 45 81 27 61
Vector after inserting new value:
41 67 34 -20 0 -20 69 24 -20 78 -20 58 -20 62 -20 64 -20 5 45 81 27 61
相关文章:
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 预处理器:插入结构名称中的前一个行号
- 在未初始化映射的情况下,将值插入到映射的映射中
- 在 QAbstractTableModel 上的 setModel 之后插入数据
- C++代码,用于在用户插入的字符串的每个元音之后插入一对字符
- win32 c++ 我想在静态标签的文本之后直接插入一个 EDIT 控件
- 在给定节点之后插入双向链表中的节点
- 插入多音符:在该值的第一次发生之前,而不是在上次发生之后
- 在字符串的每个元素(不使用弦乐)的每个元素之后插入字符
- 在每个偶数特定数字之后,插入向量中
- 在每个特定字符串之后插入下一行
- 插入MySQL DB中的表之后,错误消息
- 我怎么知道“ rehash”是否在插入unordered_map之后发生
- 这是在双链表的第一个节点之后插入节点的正确方法吗?
- 在循环双向链表的第一个节点之前/之后插入的算法是什么?
- 如何在迭代器位置之后插入元素
- 在每个点之后插入新行,c++
- 为什么我不能将 head 之后的节点插入C++链表?