博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用迭代器逆置容器元素
阅读量:6546 次
发布时间:2019-06-24

本文共 391 字,大约阅读时间需要 1 分钟。

 

代码如下:

 

template 
void reverse(It begin, It end){ while(begin != end) { --end; if(begin != end) std::swap(*begin++, *end); }}

 

 

注意几点:

1.不能一开始就--end,原因是[begin, end)是左闭右开区间,如果begin和end相等,--end则破坏了区间,不是每个迭代器都支持< >操作。

2.在循环内部,不能直接begin++,end--,原因是防止两个相邻的元素。

综合以上原因,只能在循环体内先--end,然后swap的时候begin++;

转载于:https://www.cnblogs.com/inevermore/p/3998846.html

你可能感兴趣的文章
QLabel显示图片,图片可以自适应label的大小
查看>>
BZOJ3994:[SDOI2015]约数个数和——题解
查看>>
3、EJB3.0开发第一个无会话Bean和客户端(jboss4.2.3)
查看>>
git fetch & pull详解
查看>>
boost_1.63.0编译VS2013
查看>>
jQuery 插件-(初体验一)
查看>>
PHP语言 -- Ajax 登录处理
查看>>
基于js的CC攻击实现与防御
查看>>
我的家庭私有云计划-19
查看>>
项目实践中Linux集群的总结和思考
查看>>
关于使用Android NDK编译ffmpeg
查看>>
监控MySQL主从同步是否异常并报警企业案例模拟
查看>>
zabbix从2.2.3升级到最新稳定版3.2.1
查看>>
我有一个网站,想提高点权重
查看>>
浅谈(SQL Server)数据库中系统表的作用
查看>>
微软邮件系统Exchange 2013系列(七)创建发送连接器
查看>>
程序员杂记系列
查看>>
【树莓派】制作树莓派所使用的img镜像(一)
查看>>
理解网站并发量
查看>>
spring整合elasticsearch之环境搭建
查看>>