专栏首页mathorC++ reverse函数的用法

C++ reverse函数的用法

逆序(反转)无论是在C或是C++中用的都特别多,常用于数组,字符串,容器等,其本身的函数参数也不复杂。

       标准C中是没有recerse()函数的,这是C++的一个新增函数,使用需要包含头文件

#include <algorithm>

       reverse函数用于反转在[first,last)范围内的顺序(包括first指向的元素,不包括last指向的元素),reverse函数没有返回值

template <class BidirectionalIterator>
void reverse (BidirectionalIterator first,BidirectionalIterator last);

       例如,交换vector容器中元素的顺序

vector<int> v = {5,4,3,2,1};
reverse(v.begin(),v.end());//v的值为1,2,3,4,5

       还有string类的字符串

string str="www.mathor.top";
reverse(str.begin(),str.end());//str结果为pot.rohtam.wwww

       最后给出函数原型,该函数等价于通过调用iter_swap来交换元素位置

template <class BidirectionalIterator>
void reverse (BidirectionalIterator first, BidirectionalIterator last)
{
    while ((first!=last)&&(first!=--last))
    {
        std::iter_swap (first,last);
        ++first;
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Gradient Descent

    在你测试集上,通过最小化代价函数$J(\omega,b)$来训练参数$\omega$和$b$

    mathor
  • java中使用nextLine(); 没有输入就自动跳过的问题?

    mathor
  • JDBC

     要想通过java连接数据库,首先通过Navicat工具连接MySQL,然后创建数据库jsp,再创建一个表单user,表单里的字段以及相应的属性见下图

    mathor
  • 盘点2017年云计算行业5大趋势

    本文转自网络,涉及侵权请及时联系我们 随着认知计算、边缘计算、移动、物联网、社交、大数据以及混合IT环境的不断演变和发展,云计算也在2017年大放异彩。下面就跟...

    CDA数据分析师
  • 如何在vue项目中配置你自己的启动命令和打包命令

    在开发中,通常会需要和后台做一些开发调试, 本地开发, 和线上观测 这时 如何用一套代码 加上 几个命令来轻松的做到这些?

    yangdongnan
  • 海量数据迁移之sqlldr和datapump的缺点分析(r4笔记第74天)

    在数据迁移中,sql*loader和datapump总是作为一些常用的数据迁移方案,自己在经历了一些项目之后,优点就不说了,说点这些方案的缺点,批评不自由,则赞...

    jeanron100
  • CUDA与OpenGL互操作

    当处理较大数据量的时候,往往会用GPU进行运算,比如OpenGL或者CUDA。在实际的操作中,往往CUDA实现并行计算会比OpenGL更加方便,而OpenGL在...

    一棹烟波
  • 给GAN一句描述,它就能按要求画画,微软CVPR新研究 | 附PyTorch代码

    让AI认得图像,根据自己的理解给出一段叙述,已经不是什么新鲜事了。从图像到文字容易,把这个过程反过来却很难。

    深度学习与Python
  • 给GAN一句描述,它就能按要求画画,微软CVPR新研究 | 附PyTorch代码

    让AI认得图像,根据自己的理解给出一段叙述,已经不是什么新鲜事了。从图像到文字容易,把这个过程反过来却很难。

    代码医生工作室
  • 给GAN一句描述,它就能按要求画画,微软CVPR新研究 | 附PyTorch代码

    让AI认得图像,根据自己的理解给出一段叙述,已经不是什么新鲜事了。从图像到文字容易,把这个过程反过来却很难。

    量子位

扫码关注云+社区

领取腾讯云代金券