9.28 编写函数,接受一个forward_list<string>和两个string共三个参数。函数应在链表中查找第一个string,并将第二个string插入到紧接着第一个string之后的位置。若第一个string未在链表中,则将第二个string插入到链表末尾。

#include<iostream>
#include<forward_list>
#include<string>
using namespace std; void insert(forward_list<string> &flist,string s1,string s2)
{
auto prev=flist.before_begin();
auto curr=flist.begin();
while(curr!=flist.end())
{
if(*curr==s1)
{
flist.insert_after(curr,s2);
break;
}
else
{
prev=curr;
++curr;
}
}
if(curr==flist.end())
flist.insert_after(prev,s2);
} int main()
{
forward_list<string> flist={"a","b","c","d","e"};
insert(flist,"f","b");
for(auto f:flist)
cout<<f<<" ";
cout<<endl;
return ;
}

结果如下:

最新文章

  1. JavaScript精要(系列)
  2. XAML概览 1(译自JeremyBytes.com)
  3. MATLAB将矩阵使用.txt文件格式保存
  4. php openssl 生成公私钥,根据网上文章整理的
  5. 利用rlwrap配置linux下oracle sqlplus 历史记录回调
  6. C_FORCE_ROOT linux环境变量设置
  7. Java 中 MongoDB 使用指南
  8. PHP 中const 与define 区别
  9. Splay入门题目 [HNOI2002]营业额统计
  10. 移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践
  11. Linux网络编程(四)
  12. asp.net分页代码(教你怎么实现)
  13. 201521123063 java第一周总结
  14. [W班]第二次结对作业成绩评价
  15. vscode 搭建go开发环境的13个插件的安装
  16. VsCode插件开发之入门示例
  17. node的cookie-parser和express-session
  18. DedeCMS中channelartlist自增参数global.itemindex
  19. C# 词频统计 东北师范大学 软件项目管理 第一次作业
  20. 自适应浏览器分辨率的javascript函数[转]

热门文章

  1. NOI2003 逃学的小孩
  2. 先前设定的sa密码忘记了,如何修改sa密码?
  3. DDraw绘图
  4. This Android SDK requires Android Developer Toolkit version 23.0.0 or above
  5. Python 连接mysql
  6. linux 学习之 rpm
  7. MFC文档、视图和框架
  8. windows下python配置
  9. wuzhicms 无规律推荐位标签的嵌套使用
  10. ZOJ Light Bulb - 3203