Có nhiều cách định nghĩa để đảo ngược chuỗi trong C++ bao gồm stack, in-place, và lặp. Trong ví dụ này, một chuỗi đơn giản sẽ được đảo ngược theo cách lặp với thuật toán sau:
Thuật toán
BẮT ĐẦU
Bước-1: Nhập chuỗi
Bước-2: Lấy độ dài chuỗi bằng phương thức length()
Bước-3: Hoán đổi ký tự cuối về đầu bằng vòng lặp for
Bước-4: In
KẾT THÚC
Trong sự tương thích của thuật toán trên, mã C++ đi kèm được thử như sau:
Ví dụ mã C++
#include <bits/stdc++.h>
using namespace std;
void strReverse(string& str){
int n = str.length();
// Hoán đổi ký tự bắt đầu từ hai đầu
cout<<"Đảo ngược lặp (Tomhanks)::";
for (int i = 0; i < n / 2; i++)
swap(str[i], str[n - i - 1]);
}
int main(){
string str = "Tomhanks";
strReverse(str);
cout << str;
return 0;
}
Đầu ra
Khi mã trên được biên dịch, chuỗi "Tomhanks" sẽ được in theo thứ tự ngược như sau:
Đảo ngược lặp (Tomhanks):: sknahmoT