天天看点

c++反转算法reverse和reverse_copy

在c++中提供了reverse和reverse_copy来完成反转。

  • void reverse(beg,end);beg 起始位置,end终止位置
  • Iterator reverse_cpoy(beg,end,destBeg);beg 起始位置,end终止位置,destBeg 需要copy到的起始位置.返回第一个未被覆盖的元素位置

    二者的区别,reverse会改变本身的顺序,而reverse_copy不会改变本身的顺序。

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main()
{
	//示例,使用reverse完成字符串的反转
	std::string str;
	cin >> str;
	reverse(str.begin(), str.end());
	cout << str << endl;

	char result_copy[100] = {};
	reverse_copy(str.begin(), str.end(), result_copy);
	cout << str << endl;
	cout << result_copy << endl;

}
           

继续阅读