Reverzný reťazec v C++

Reverzny Retazec V C



V mnohých scenároch programovania C++ môže byť potrebné obrátiť reťazec. Obrátenie reťazca zahŕňa zmenu poradia znakov v reťazci a jeho nastavenie v opačnom poradí, alebo to môže byť len tlač reťazca dozadu. Všetko, čo je potrebné na otočenie reťazca, je presunúť jeho posledný prvok na pôvodné miesto reťazca atď. V niektorých situáciách môže byť potrebné natrvalo obrátiť reťazec na jeho adrese. C++ poskytuje rôzne metódy na obrátenie reťazca.

Techniky na obrátenie reťazca v programovaní v C++

V závislosti od špecifikácií kódu, ktoré vyvíjame, existuje niekoľko techník na implementáciu obrátenia reťazcov v programovaní C++. Tieto techniky sú:

  • Použitie metódy „reverse()“.
  • Použitie metódy „strrev()“.
  • Využitie cyklu „pre“.
  • Využitie cyklu „pričom“.
  • Použitie konštruktora

Príklad 1:

Najprv importujeme tri odlišné hlavičkové súbory, ktoré sú „algoritmus“, „iostream“ a „reťazec“. Tieto hlavičkové súbory musíme zahrnúť, aby sme využili funkcie, ktoré sú v nich definované. Hlavičkový súbor „algoritmus“ obsahuje množstvo vstavaných funkcií na vyhľadávanie, triedenie, počítanie, úpravu atď., ktoré máme k dispozícii.







Potom „iostream“ poskytuje funkcie na zadávanie alebo výstup údajov a obsahuje súbor hlavičky „reťazec“, pretože poskytuje funkcie potrebné pri práci s údajmi reťazca. Pod tieto hlavičkové súbory pridáme menný priestor „std“. Tu vyvoláme funkciu „main()“.



Potom umiestnime typ údajov „string“ a inicializujeme tu „originalStr“ s niektorými údajmi reťazca. Potom tento reťazec vytlačíme. Potom použijeme metódu „reverse()“, ktorá pomáha pri obrátení reťazca. V tejto metóde „reverse()“ pridávame „begin()“ a „end()“ spolu s premennou „originalStr“. Teraz vytlačíme aj tento obrátený reťazec, ktorý získame po použití metódy „reverse()“.



Kód 1:





#include
#include
#include
použitím menný priestor std ;
int Hlavná ( )
{
string originalStr = 'Reťazec v programovaní C++' ;
cout << 'Pôvodná šnúrka!' << endl ;
cout << originalStr << endl << endl ;
obrátene ( originalStr. začať ( ) , originálStr. koniec ( ) ) ;
cout << 'Obrátená struna!' << endl ;
cout << originalStr ;
vrátiť 0 ;
}

Výkon:
Obrátený reťazec, ktorý získame po použití metódy „reverse()“ v našom kóde, sa teraz vykreslí spolu s pôvodným reťazcom.



Príklad 2:

Najprv zahrnieme hlavičkové súbory a potom umiestnime „namespace std“. Potom v metóde „main()“ inicializujeme pole znakov umiestnením dátového typu „char“ s názvom premennej „Org_str“ a sem napíšeme reťazec, ktorý chceme obrátiť. Potom vykreslíme tento „Org_str“ pomocou „cout“.

Pod tým používame metódu „strrev()“ na obrátenie reťazca a odovzdanie „Org_str“ ako parameter v tejto funkcii. Teraz je tu reťazec obrátený. Potom vyrenderujeme aj obrátený reťazec pomocou „cout“.

Kód 2:

#include
#include
použitím menný priestor std ;
int Hlavná ( )
{
char Org_str [ ] = 'Stringový reverzný program' ;
cout << Org_str << endl << endl ;
strrev ( Org_str ) ;
cout << 'Obrátený reťazec' << endl ;
cout << Org_str ;
vrátiť 0 ;
}

Výkon:
Tu sú vykreslené pôvodné a obrátené reťazce, ktoré sme získali pomocou metódy „strrev()“ v našom kóde.

Príklad 3:

V tomto prípade sú hlavičkové súbory zahrnuté pred pridaním „namespace std“. Potom sa vyvolá „main()“ a pridá sa reťazcová premenná s názvom „myOrgStr“ a inicializuje sa údajmi reťazca.

Potom tiež deklarujeme premennú „int“ „a“ a vykreslíme reťazec „myOrgStr“ pomocou „cout“. Pod tým použijeme cyklus „for“, kde inicializujeme premennú „a“ pomocou „myOrgStr.length() – 1“ a potom umiestnime podmienku, ktorá je „a >= 0“ a znížime ju na hodnotu „a “. Toto obráti náš reťazec a uloží ho do „myOrgStr[a]“ a tiež ho zobrazí, keď umiestnime „myOrgStr[a]“ do „cout“.

Kód 3:

#include
#include
použitím menný priestor std ;
int Hlavná ( )
{
reťazec myOrgStr = 'Ahoj Svet!' ;
int a ;
cout << myOrgStr << endl << endl ;
cout << 'Obrátený reťazec' <= 0 ; a -- )
{
cout << myOrgStr [ a ] ;
}
vrátiť 0 ;
}

Výkon:
Toto vykreslí pôvodné aj obrátené reťazce, ktoré sme získali prostredníctvom nášho kódu pomocou metódy cyklu „for“.

Príklad 4:

Tu importujeme hlavičkový súbor „bits/stdc++.h“, takže nemusíme importovať ostatné hlavičkové súbory, pretože tento hlavičkový súbor obsahuje všetky definície funkcie. Potom napíšeme „namespace std“. Tu vytvoríme funkciu s názvom “Rev()”, do ktorej odovzdáme “string& myString” ako argument tejto funkcie. Tu vytvoríme túto funkciu, aby sme obrátili reťazec.

V tejto funkcii umiestnime premennú „S_len“ dátového typu „int“ a inicializujeme ju funkciou „length()“ umiestnením „myString“ s týmto. Potom máme ďalšiu premennú, ktorá je „no“ dátového typu „int“ a inicializujeme ju pomocou „S_len-1“.

Pod tým sa inicializuje ešte jedna premenná s názvom „a“ dátového typu „int“. Tu používame cyklus „while()“ a ako podmienku pridáme „a <= no“. Potom použijeme metódu „swap()“. Táto metóda „swap()“ pomáha pri výmene údajov reťazca a potom inicializuje „no“ s „no -1“. Tiež inicializujeme „a“ pomocou „a+1“.

Potom tu vyvoláme „main()“, v ktorom inicializujeme premennú „myString“ s údajmi reťazca a vytlačíme tento reťazec. Potom zavoláme funkciu „Rev()“, ktorú sme vytvorili v tomto kóde a ako parameter tejto funkcie vložíme „myString“, ktorá obráti reťazec a potom zobrazí obrátený reťazec.

Kód 4:

#include
použitím menný priestor std ;
neplatné Rev ( reťazec & myString )
{
int S_len = myString. dĺžka ( ) ;
int Nie = S_len - 1 ;
int a = 0 ;
zatiaľ čo ( a <= Nie ) {
vymeniť ( myString [ a ] ,myString [ Nie ] ) ;
Nie = Nie - 1 ;
a = a + 1 ;
}

}
int Hlavná ( )
{
string myString = 'Milujem programovanie' ;
cout << myString << endl ;
cout << ' \n Obrátená struna' << endl ;
Rev ( myString ) ;
cout << myString ;
vrátiť 0 ;
}

Výkon:
Tu uvádzame pôvodný reťazec aj obrátený reťazec, ktorý sme získali použitím cyklu „while()“ a metódy „swap()“ vo funkcii, ktorú sme vytvorili v našom kóde.

Príklad 5:

Importujeme hlavičkový súbor „bits/stdc++.h“ so všetkými definíciami funkcií. Preto nepotrebujeme importovať žiadne ďalšie hlavičkové súbory. Ďalej zadáme „namespace std“ a zavoláme tu „main()“. Potom máme premennú „data“ dátového typu „string“ a inicializujeme ju reťazcom, ktorý chceme obrátiť.

Tento pôvodný reťazec vykreslíme pred jeho obrátením umiestnením premennej „data“ do „cout“. Pod tým inicializujeme ďalšiu premennú, ktorá je „revStr“ rovnakého dátového typu „reťazec“. Potom použijeme „rbegin()“ a „rend()“, čo sú reverzné iterátory, ktoré tu pridávame na obrátenie reťazca. Obrátený reťazec je teraz uložený v premennej „revStr“, ktorá je umiestnená v „cout“, aby sa tu vytlačil obrátený reťazec.

Kód 5:

#include
použitím menný priestor std ;
int Hlavná ( )
{
reťazcové údaje = 'C++ je najlepší programovací jazyk' ;
cout << údajov << endl << endl ;
reťazec revStr = reťazec ( údajov. začať ( ) , údaje. robí ( ) ) ;

cout << revStr << endl ;
vrátiť 0 ;
}

Výkon:
Tu sa najprv vykreslí reťazec, ktorý sme pridali do kódu. Potom sa obrátený reťazec, ktorý sme získali použitím reverzných iterátorov, zobrazí takto:

Záver

Koncept „reverzného reťazca“ v programovaní C++ je diskutovaný v tomto článku, kde sme preskúmali viacero techník na obrátenie reťazca. Podrobne sme preskúmali všetky metódy, ktoré pomáhajú zvrátiť reťazec v C++, a obrátili sme reťazec v našich kódoch C++. V tomto článku sme ukázali pôvodné a obrátené reťazce v našich kódoch.