Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Đảo ngược chuỗi (Lặp) C++


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