1. reverse() 함수 <algorithm>
#include <algorithm>
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str = "abcd";
reverse(str.begin(), str.end());
cout<<"\n"<<str;
return 0;
}
1.5 reverse iterator 사용
string str, rstr;
cin >> str;
rstr.assign(str.rbegin(), str.rend());
2. strrev() 함수 <cstring>
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char str[] ="abcd";
strrev(str);
cout<<"\n"<<str;
return 0;
}
3. for문 사용
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str="abcd";
int i;
for(i = str.length() - 1; i >= 0; i--)
{
cout<<str[i];
}
return 0;
}
4. 투포인터 사용
#include <iostream>
#include <string>
void reverseString(std::string& str) {
int left = 0;
int right = str.length() - 1;
while (left < right) {
std::swap(str[left], str[right]);
left++;
right--;
}
}
int main() {
std::string str = "Hello, World!";
reverseString(str);
std::cout << str << std::endl;
return 0;
}
5. 재귀함수
#include <iostream>
#include <string>
std::string reverseStringRecursive(const std::string& str) {
if (str.length() <= 1) {
return str;
} else {
return reverseStringRecursive(str.substr(1)) + str[0];
}
}
int main() {
std::string str = "Hello, World!";
std::string reversedStr = reverseStringRecursive(str);
std::cout << reversedStr << std::endl;
return 0;
}
'프로그래밍 언어 > C++' 카테고리의 다른 글
[C++] string to int, float, double 자료형 / stoi, stol, stoll (0) | 2024.09.23 |
---|---|
[C++] C++ 17 표준 라이브러리의 알고리즘 병렬화 (0) | 2024.07.03 |
[C++] 문자열 뒤집는 방법 string (1) | 2024.07.02 |
[C] main()과 return 사용 이유, 설명 (0) | 2024.06.24 |
[C++] 원이 겹치는지에 대한 개인 코드 (0) | 2024.05.29 |