Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

วิธีการกลับสตริงใน C/C++ หลายวิธี

ในบทช่วยสอนนี้ เราจะพูดถึงวิธีการกลับสตริง (reverse string) ใน C/C++ หลายวิธี

1. ฟังก์ชัน reverse() ที่ผู้ใช้นิยามเอง

#include <bits/stdc++.h>
using namespace std;

void reverse_str(string& str) {
    int n = str.length();
    for(int i = 0; i < n / 2; i++)
        swap(str[i], str[n - i - 1]);
}

int main() {
    string str = "tutorialspoint";
    reverse_str(str);
    cout << str;
    return 0;
}

2. ใช้ฟังก์ชัน reverse() ในตัวของ STL

#include <bits/stdc++.h>
using namespace std;

int main() {
    string str = "tutorialspoint";
    reverse(str.begin(), str.end());
    cout << str;
    return 0;
}

3. พิมพ์สตริงย้อนหลัง (ไม่แก้ไขสตริงต้นฉบับ)

#include <bits/stdc++.h>
using namespace std;

void reverse(string str) {
    for(int i = str.length() - 1; i >= 0; i--)
        cout << str[i];
}

int main(void) {
    string s = "tutorialspoint";
    reverse(s);
    return 0;
}

เอาต์พุต

tniopslairotut

สรุป

  • วิธีที่ 1: เขียนอัลกอริทึมสลับตัวอักษรเอง เข้าใจหลักการทำงานได้ชัดเจน
  • วิธีที่ 2: ใช้ std::reverse จาก <algorithm> สะดวก เร็ว และเป็นมาตรฐาน
  • วิธีที่ 3: แค่พิมพ์ย้อนหลัง ไม่เปลี่ยนค่าสตริงต้นฉบับ