c++ 中reverse函数用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ 中reverse函数用法相关的知识,希望对你有一定的参考价值。

参考技术A reverse
函数的作用是
反转元素的顺序。
函数定义如下:
template<class
BidirectionalIterator>
void
reverse(
BidirectionalIterator
_First,
BidirectionalIterator
_Last
);
参数
_First
指向第一个元素的位置的双向迭代器在元素交换的范围。
_Last
指向通过最终元素的位置的一双向迭代器在元素交换的范围。
备注
引用的源范围必须是有效的;所有指针必须dereferenceable,并在该序列中最后位置以访问按增量。
示例如下:
//
alg_reverse.cpp
//
compile
with:
/EHsc
#include
<vector>
#include
<algorithm>
#include
<iostream>
int
main(
)

using
namespace
std;
vector
<int>
v1;
vector
<int>::iterator
Iter1;
int
i;
for
(
i
=
0
;
i
<=
9
;
i++
)

v1.push_back(
i
);

cout
<<
"The
original
vector
v1
is:\n
(
"
;
for
(
Iter1
=
v1.begin(
)
;
Iter1
!=
v1.end(
)
;
Iter1++
)
cout
<<
*Iter1
<<
"
";
cout
<<
")."
<<
endl;
//
Reverse
the
elements
in
the
vector
reverse
(v1.begin(
),
v1.end(
)
);
cout
<<
"The
modified
vector
v1
with
values
reversed
is:\n
(
"
;
for
(
Iter1
=
v1.begin(
)
;
Iter1
!=
v1.end(
)
;
Iter1++
)
cout
<<
*Iter1
<<
"
";
cout
<<
")."
<<
endl;

与反转的值的已修改的向量v1是:(9
8
7
6
5
4
3
2
1
0)。

倒置函数reverse的用法

倒置字符串函数reverse:用于倒置字符串s中的各个字符的位置,如原来字符串中如果初始值为123456,则通过reverse函数可将其倒置为654321,程序如下:
#include<stdio.h>
#include<string.h>
void reverse(char s[])
{  
 int c,j,i;
 for(i=0,j=strlen(s)-1;i<j;i++,j--)//完成倒置功能,不包括字符串结束符‘/0‘
 {
  c=s[i];
  s[i]=s[j];
  s[j]=c;
 }
}
main()//主函数,用于测试reverse函数的功能
{  
 char s[]="123456";
 reverse(s);//调用倒置函数
 printf("倒置后的字符串为:%s/n",s);//输出倒置后的字符串
}

运行结果如下;654321

 

功能颠倒字符串中字符次序。  语法Reverse ( string )

 

  参数string:要颠倒字符次序的字符串返回值String。函数执行成功时返回颠倒字符次序后的字符串,如果发生错误,那么返回空字符串("")。用法Reverse()函数将一个字符串中最后一个字符放置到另一个字符串的第一个字符位置、倒数第二个字符放置在另一个字符串的第二个字符位置,以此类推。

 

  EXAMPLE:

 

  // reverse algorithm example

 

  #include <iostream>

 

  #include <algorithm>

 

  #include <vector>

 

  using namespace std;

 

  int main () {

 

  vector<int> myvector;

 

  vector<int>::iterator it;

 

  // set some values:

 

  for (int i=1; i<10; ++i) myvector.push_back(i); // 1 2 3 4 5 6 7 8 9

 

  reverse(myvector.begin(),myvector.end()); // 9 8 7 6 5 4 3 2 1

 

  // print out content:

 

  cout << "myvector contains:";

 

  for (it=myvector.begin(); it!=myvector.end(); ++it)

 

  cout << " " << *it;

 

  cout << endl;

 

  return 0;

 

  }

 

  Output:

 

  myvector contains: 9 8 7 6 5 4 3 2 1

以上是关于c++ 中reverse函数用法的主要内容,如果未能解决你的问题,请参考以下文章

倒置函数reverse的用法

python中reversed()函数的用法

STLreverse函数用法

C语言中 toupper()和tolower()用法?请大神详述 谢谢!!!

条目二十八《正确理解由reverse_iterator的base()成员函数所产生的iterator的用法》

357sorted 函数高级用法