String Reverse în C++

String Reverse In C



În multe scenarii de programare C++, poate fi necesară inversarea unui șir. Inversarea unui șir implică schimbarea ordinii caracterelor din șir și setarea acestuia în ordine inversă sau ar putea fi doar tipărirea unui șir înapoi. Tot ceea ce este necesar pentru a inversa un șir este să mutați elementul său final la locul inițial al șirului și așa mai departe. În unele situații, poate fi necesară inversarea permanentă a șirului la adresa sa. C++ oferă diverse metode pentru inversarea șirului.

Tehnici pentru inversarea unui șir în programarea C++

În funcție de specificațiile codului pe care le dezvoltăm, există mai multe tehnici pentru a implementa inversarea șirurilor în programarea C++. Aceste tehnici sunt:

  • Folosind metoda „reverse()”.
  • Folosind metoda „strrev()”.
  • Folosind bucla „for”.
  • Folosind bucla „while”.
  • Folosind constructorul

Exemplul 1:

Mai întâi, importăm trei fișiere de antet distincte care sunt „algoritm”, „iostream” și „șir”. Trebuie să includem aceste fișiere de antet, astfel încât să folosim funcțiile care sunt definite în ele. Fișierul antet „algoritm” include numeroase funcții încorporate pentru găsirea, sortarea, numărarea, modificarea etc. care ne sunt disponibile.







Apoi, „iostream” oferă funcții pentru introducerea sau ieșirea datelor, iar fișierul antet „șir” este inclus, deoarece oferă funcțiile necesare în timpul lucrului cu datele șirului. Sub aceste fișiere de antet, adăugăm spațiul de nume „std”. Aici, invocăm funcția „main()”.



Apoi, plasăm tipul de date „șir” și inițializam „originalStr” aici cu câteva date șir. Apoi, imprimăm acel șir. După aceasta, folosim metoda „reverse()” care ajută la inversarea șirului. În această metodă „reverse()”, adăugăm „begin()” și „end()” împreună cu variabila „originalStr”. Acum, imprimăm și acest șir inversat pe care îl obținem după aplicarea metodei „reverse()”.



Cod 1:





#include
#include
#include<șir>
folosind spatiu de nume std ;
int principal ( )
{
șir originalStr = „Înversarea șirurilor în programarea C++” ;
cout << 'Corul original!' << endl ;
cout << originalStr << endl << endl ;
verso ( originalStr. ÎNCEPE ( ) , originalStr. Sfârşit ( ) ) ;
cout << — Coarda inversată! << endl ;
cout << originalStr ;
întoarcere 0 ;
}

Ieșire:
Șirul inversat pe care îl obținem după aplicarea metodei „reverse()” în codul nostru este acum redat împreună cu șirul original.



Exemplul 2:

Includem mai întâi fișierele antet și apoi plasăm „namespace std”. Apoi, în metoda „main()”, inițializam matricea de caractere prin plasarea tipului de date „char” cu numele variabilei „Org_str” și introducem aici șirul pe care vrem să îl inversăm. Apoi, redăm acest „Org_str” cu ajutorul lui „cout”.

Sub aceasta, folosim metoda „strrev()” pentru a inversa șirul și a trece „Org_str” ca parametru în această funcție. Acum, șirul este inversat aici. După aceasta, redăm și șirul inversat cu ajutorul lui „cout”.

Cod 2:

#include
#include
folosind spatiu de nume std ;
int principal ( )
{
char Org_str [ ] = „Programul invers pentru șiruri” ;
cout << Org_str << endl << endl ;
strrev ( Org_str ) ;
cout << „Șir inversat” << endl ;
cout << Org_str ;
întoarcere 0 ;
}

Ieșire:
Aici sunt redate șirurile originale și inversate pe care le-am obținut folosind metoda „strrev()” din codul nostru.

Exemplul 3:

În acest caz, fișierele antet sunt incluse înainte ca „namespace std” să fie adăugat. Apoi, „main()” este invocat și variabila șir este adăugată cu numele „myOrgStr” și inițializată cu datele șirului.

După aceasta, declarăm și variabila „int” „a” și redăm șirul „myOrgStr” folosind „cout”. Sub aceasta, folosim bucla „for” în care inițializam variabila „a” cu „myOrgStr.length() – 1” și apoi plasăm o condiție care este „a >= 0” și o decresim în valoarea „a”. ”. Acest lucru inversează șirul nostru și îl stochează în „myOrgStr[a]” și, de asemenea, îl afișăm pe măsură ce plasăm „myOrgStr[a]” în interiorul „cout”.

Cod 3:

#include
#include<șir>
folosind spatiu de nume std ;
int principal ( )
{
șir myOrgStr = 'Salut Lume!' ;
int A ;
cout << myOrgStr << endl << endl ;
cout << „Șir inversat” <= 0 ; A -- )
{
cout << myOrgStr [ A ] ;
}
întoarcere 0 ;
}

Ieșire:
Acest lucru redă atât șirurile originale, cât și cele inversate pe care le-am obținut prin codul nostru folosind metoda buclei „for”.

Exemplul 4:

Aici, importăm fișierul antet „bits/stdc++.h”, astfel încât să nu fie nevoie să importăm celelalte fișiere antet, deoarece acest fișier antet conține toate definițiile funcției. Apoi, introducem „namespace std”. Aici, creăm o funcție cu numele „Rev()” în care trecem „string& myString” ca argument al acestei funcții. Creăm această funcție aici pentru a inversa șirul.

În această funcție, plasăm variabila „S_len” a tipului de date „int” și o inițializam cu funcția „length()” plasând „myString” cu aceasta. Apoi, avem o altă variabilă care este „no” de tip de date „int” și o inițializam cu „S_len-1”.

Sub aceasta, este inițializată încă o variabilă care se numește „a” de tipul de date „int”. Aici, folosim bucla „while()” și adăugăm „a <= nu” ca condiție. Apoi, folosim metoda „swap()”. Această metodă „swap()” ajută la schimbarea șirului de date și apoi inițializează „nu” cu „no -1”. De asemenea, inițializam „a” cu „a+1”.

Apoi invocăm aici „main()” în care inițializam variabila „myString” cu datele șirului și imprimăm acel șir. După aceasta, numim funcția „Rev()” pe care am creat-o în acest cod și punem „myString” ca parametru al acestei funcții care inversează șirul și apoi afișam șirul inversat.

Cod 4:

#include
folosind spatiu de nume std ;
vid Rev ( şir & myString )
{
int S_len = myString. lungime ( ) ;
int Nu = S_len - 1 ;
int A = 0 ;
in timp ce ( A <= Nu ) {
schimb ( myString [ A ] ,myString [ Nu ] ) ;
Nu = Nu - 1 ;
A = A + 1 ;
}

}
int principal ( )
{
șir myString = „Îmi place programarea” ;
cout << myString << endl ;
cout << ' \n șir inversat' << endl ;
Rev ( myString ) ;
cout << myString ;
întoarcere 0 ;
}

Ieșire:
Aici, prezentăm atât șirul original, cât și șirul inversat pe care l-am obținut utilizând bucla „while()” și metoda „swap()” în cadrul funcției pe care am creat-o în codul nostru.

Exemplul 5:

Importăm fișierul antet „bits/stdc++.h” cu toate definițiile funcției. Prin urmare, nu trebuie să importăm alte fișiere antet. Apoi, introducem „namespace std” și apelăm „main()” aici. Apoi, avem o variabilă „date” de tipul de date „șir” și o inițializam cu șirul pe care vrem să îl inversăm.

Redăm acest șir original înainte de a-l inversa plasând variabila „date” în „cout”. Sub aceasta, inițializam o altă variabilă care este „revStr” de același tip de date „șir”. Apoi, folosim „rbegin()” și „rend()”, care sunt iteratoarele inverse pe care le adăugăm pentru a inversa șirul aici. Șirul inversat este acum salvat în variabila „revStr” care este plasată în „cout” pentru a tipări șirul inversat aici.

Cod 5:

#include
folosind spatiu de nume std ;
int principal ( )
{
date șir = „C++ este cel mai bun limbaj de programare” ;
cout << date << endl << endl ;
șir revStr = şir ( date. a începe ( ) , date. face ( ) ) ;

cout << revStr << endl ;
întoarcere 0 ;
}

Ieșire:
Șirul pe care l-am adăugat la cod este mai întâi redat aici. Apoi, șirul inversat pe care l-am obținut prin utilizarea iteratoarelor inverse este afișat în următoarele:

Concluzie

Conceptul de „inversare a șirului” din programarea C++ este discutat în acest articol, unde am explorat mai multe tehnici pentru inversarea șirului. Am explorat toate metodele care ajută la inversarea șirului în C++ în detaliu și am inversat șirul în codurile noastre C++. În acest articol, am arătat șirurile originale și inversate în codurile noastre.