标签:Primer curr 7.28 flst C++ include forward 元素 prev
forward_list的特殊用法
因为其是单项链表,所以在进行增删元素时,该元素的后继会发生改变,故我们需要访问其前驱以此改变前驱的链接
题:编写程序,查找并删除forward_list中的奇数元素
#include <iostream>
#include <string>
#include <forward_list>
using namespace std;
int main()
{
forward_list<int> flst = { 1,2,3,4,5,6,7,8,9 };
//删除奇数
auto prev = flst.before_begin(); //prev表示首元素的前驱
auto curr = flst.begin(); //curr表示其首元素
while (curr != flst.end())
{
if (*curr % 2 != 0)
{
curr = flst.erase_after(prev); // erase_after将prev之后的元素删除,并将curr重置为erase_after之后的返回值
}
else
{
prev = curr; //移动迭代器,使prev指向下一元素
++curr;
}
}
for (auto n : flst)
{
cout << n << " ";
}
cout << endl;
}
标签:Primer,curr,7.28,flst,C++,include,forward,元素,prev 来源: https://blog.csdn.net/weixin_44533825/article/details/112641168
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。