Отображение строки в обратном порядке

C++Beginner
Практиковаться сейчас

Введение

В этом практическом занятии вы научитесь писать программу на C++, которая выводит заданную строку в обратном порядке. В C++ существуют несколько подходов к реверсу строки. Мы рассмотрим два различных метода: использование собственной функции reverse, которую мы напишем сами, и использование встроенной функции reverse в C++.

Собственная функция для реверса строки

Сначала напишем пользовательскую функцию для реверса заданной строки. Эта функция будет менять местами первый символ с последним, второй с предпоследним и так далее, пока вся строка не будет перевернута.

Создадим функцию reverseStr и передадим строку по ссылке. Таким образом, мы сможем изменить исходную строку, а не возвращать новую. Функция будет иметь цикл for, который будет менять местами символы с обоих сторон строки, постепенно двигаясь внутрь, пока вся строка не будет перевернута.

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

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

Использование встроенной функции'reverse'

C++ также предоставляет встроенную функцию для реверса строки, которая находится в заголовочном файле <algorithm>. Мы можем использовать функцию reverse(), передав начальную и конечную позиции строки для реверса.

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

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

Тестирование программы

Протестируем программу, используя любой из вышеперечисленных методов. Для этого просто вызовите функцию, которую только что создали, или встроенную функцию reverse(). Передайте в функцию в качестве аргумента строку, которую хотите перевернуть.

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

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

int main() {
    string myString = "Hello World!"; //define a string to be reversed

    //Method 1
    cout << "REVERSED STRING USING CUSTOM FUNCTION:\n";
    reverseStr(myString); //calling the custom function to reverse the string
    cout << myString << endl;

    //Method 2
    cout << "\nREVERSED STRING USING INBUILT 'REVERSE' FUNCTION:\n";
    reverse(myString.begin(), myString.end()); //calling the inbuilt function to reverse the string
    cout << myString << endl;

    return 0;
}

Резюме

В этом практическом занятии мы научились писать программу на C++, которая выводит заданную строку в обратном порядке. Мы рассмотрели два различных метода: использование собственной функции, которую мы создали сами, и использование встроенной функции reverse в C++. Мы также протестировали программу с использованием обоих методов, вызвав функции. Теперь вы можете мгновенно перевернуть любую строку!