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 条评论
登录 后参与评论

相关文章

来自专栏DOTNET

C#要点

内容摘要 1 数据类型   1.1表达范围问题   1.2 数组的长度问题   1.3 值类型与引用类型   1.4 匿名类型与隐式类型   1.5硬编码造成的...

2785
来自专栏java达人

jQuery(function(){})与(function(){})(jQuery)的区别

一、先看 jQuery(function(){ }); 全写为 jQuery(document).ready(function(){ }); ...

16410
来自专栏乐百川的学习频道

Java 8 新特性(一)lambda表达式

Java 9 好像也快出了,不过我连Java 8的新特性都还没认真研究过,所以这几篇文章就是来介绍Java 8的新特性的。首先,第一个重要的特性就是传说中的la...

2108
来自专栏上善若水

s003android逆向安全初级篇之apk smali语法之实例分析

.locals 0指明本有本地变量。于是以上三个形参分别对应的寄存器代号为p0,p1,p2

552
来自专栏用户2442861的专栏

Python中dict详解

#字典的添加、删除、修改操作 dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "ora...

331
来自专栏专注 Java 基础分享

关于类的对象创建与初始化

今天,我们就来解决一个问题,一个类实例究竟要经过多少个步骤才能被创建出来,也就是下面这行代码的背后,JVM 做了哪些事情?

4036
来自专栏柠檬先生

VUE 入门基础(8)

十,组件  使用组件   注册     可以通过以下这种方式创建一个Vue实例       new Vue({          el: ...

1879
来自专栏博客园

.NET面试题解析(04)-类型、方法与继承

6. 在继承中new和override相同点和区别?看下面的代码,有一个基类A,B1和B2都继承自A,并且使用不同的方式改变了父类方法Print()的行为。测试...

1213
来自专栏陈树义

如何唯一确定一个 Java 类?

今天偶然想起之前和朋友讨论过的一个问题:如何唯一确定一个 Java 类?我相信大多数朋友遇到这个问题的回答都是:类的全路径呗。但事实上,唯一确定一个 Java ...

1003
来自专栏封碎

Python中的简单类型 博客分类: Python PythonCC++C#编程

整数 & 浮点数 整数有两种,分别是 int 和 long。其中 int 最大值是 2147483647 (sys.maxint),而 long 长度仅...

703

扫码关注云+社区