Odwrotność ciągu w C++

Odwrotnosc Ciagu W C



W wielu scenariuszach programowania w C++ może być konieczne odwrócenie ciągu. Odwracanie ciągu polega na zmianie kolejności znaków w ciągu i ustawieniu go w odwrotnej kolejności lub może po prostu wydrukować ciąg wstecz. Aby odwrócić ciąg znaków, wystarczy przenieść jego ostatni element na początkowe miejsce łańcucha i tak dalej. W niektórych sytuacjach może być konieczne trwałe odwrócenie ciągu znaków pod jego adresem. C++ udostępnia różne metody odwracania ciągu.

Techniki odwracania ciągu w programowaniu w C++

W zależności od specyfikacji kodu, który opracowujemy, istnieje kilka technik implementacji odwracania ciągu w programowaniu C++. Techniki te to:

  • Wykorzystanie metody „reverse()”.
  • Wykorzystanie metody „strrev()”.
  • Wykorzystanie pętli „for”.
  • Wykorzystanie pętli „while”.
  • Korzystanie z konstruktora

Przykład 1:

Najpierw importujemy trzy różne pliki nagłówkowe, którymi są „algorytm”, „iostream” i „string”. Musimy dołączyć te pliki nagłówkowe, abyśmy mogli wykorzystać funkcje w nich zdefiniowane. Plik nagłówkowy „algorytmu” zawiera wiele wbudowanych funkcji wyszukiwania, sortowania, liczenia, modyfikowania itp., które są dla nas dostępne.







Następnie „iostream” zapewnia funkcje wprowadzania i wysyłania danych, a plik nagłówkowy „string” jest dołączany, ponieważ zapewnia funkcje potrzebne podczas pracy z danymi łańcuchowymi. Pod tymi plikami nagłówkowymi dodajemy przestrzeń nazw „std”. Tutaj wywołujemy funkcję „main()”.



Następnie umieszczamy typ danych „string” i inicjujemy tutaj „originalStr” pewnymi danymi typu string. Następnie drukujemy ten ciąg. Następnie używamy metody „reverse()”, która pomaga w odwróceniu ciągu. W tej metodzie „reverse()” dodajemy „begin()” i „end()” wraz ze zmienną „originalStr”. Teraz drukujemy także ten odwrócony ciąg, który otrzymamy po zastosowaniu metody „reverse()”.



Kod 1:





#include
#include
#include
za pomocą przestrzeń nazw st ;
wew główny ( )
{
ciąg oryginalnyStr = „Odwracanie ciągu w programowaniu w C++” ;
cout << „Oryginalny ciąg!” << koniec ;
cout << oryginałStr << koniec << koniec ;
odwracać ( oryginałStr. zaczynać ( ) , oryginalnaStr. koniec ( ) ) ;
cout << „Odwrócony ciąg!” << koniec ;
cout << oryginałStr ;
powrót 0 ;
}

Wyjście:
Odwrócony ciąg, który otrzymamy po zastosowaniu w naszym kodzie metody „reverse()” jest teraz renderowany wraz z oryginalnym ciągiem.



Przykład 2:

Najpierw dołączamy pliki nagłówkowe, a następnie umieszczamy „przestrzeń nazw std”. Następnie w metodzie „main()” inicjujemy tablicę znaków umieszczając typ danych „char” z nazwą zmiennej „Org_str” i wpisujemy tutaj ciąg znaków, który chcemy odwrócić. Następnie renderujemy „Org_str” za pomocą „cout”.

Poniżej używamy metody „strrev()”, aby odwrócić ciąg znaków i przekazać „Org_str” jako parametr tej funkcji. Teraz ciąg znaków jest tutaj odwrócony. Następnie renderujemy również odwrócony ciąg znaków za pomocą „cout”.

Kod 2:

#include
#include
za pomocą przestrzeń nazw st ;
wew główny ( )
{
zwęglać Org_str [ ] = „Program odwracania ciągu” ;
cout << Org_str << koniec << koniec ;
str ( Org_str ) ;
cout << „Odwrócony ciąg” << koniec ;
cout << Org_str ;
powrót 0 ;
}

Wyjście:
Tutaj renderowane są oryginalne i odwrócone ciągi znaków, które otrzymaliśmy za pomocą metody „strrev()” w naszym kodzie.

Przykład 3:

W tym przypadku pliki nagłówkowe są dołączane przed dodaniem „std przestrzeni nazw”. Następnie wywoływana jest funkcja „main()”, dodawana jest zmienna łańcuchowa o nazwie „myOrgStr” i inicjalizowana danymi ciągu.

Następnie deklarujemy również zmienną „int” „a” i renderujemy ciąg „myOrgStr” za pomocą „cout”. Poniżej używamy pętli „for”, w której inicjujemy zmienną „a” za pomocą „myOrgStr.length() – 1”, a następnie umieszczamy warunek „a >= 0” i zmniejszamy go do wartości „a ”. Spowoduje to odwrócenie naszego ciągu i zapisanie go w „myOrgStr[a]”, a także wyświetlenie go, gdy umieścimy „myOrgStr[a]” w „cout”.

Kod 3:

#include
#include
za pomocą przestrzeń nazw st ;
wew główny ( )
{
ciąg myOrgStr = 'Witaj świecie!' ;
wew A ;
cout << mojaStr.Org << koniec << koniec ;
cout << „Odwrócony ciąg” <= 0 ; A -- )
{
cout << mojaStr.Org [ A ] ;
}
powrót 0 ;
}

Wyjście:
Renderuje to zarówno oryginalne, jak i odwrócone ciągi znaków, które otrzymaliśmy za pomocą naszego kodu przy użyciu metody pętli „for”.

Przykład 4:

Tutaj importujemy plik nagłówkowy „bits/stdc++.h”, więc nie musimy importować innych plików nagłówkowych, ponieważ ten plik nagłówkowy zawiera wszystkie definicje funkcji. Następnie wpisujemy „przestrzeń nazw std”. Tutaj tworzymy funkcję o nazwie „Rev()”, w której przekazujemy „string& myString” jako argument tej funkcji. Tworzymy tę funkcję tutaj, aby odwrócić ciąg.

W tej funkcji umieszczamy zmienną „S_len” typu danych „int” i inicjujemy ją funkcją „length()”, umieszczając w niej „myString”. Następnie mamy kolejną zmienną o typie danych „int” o nazwie „no” i inicjujemy ją za pomocą „S_len-1”.

Poniżej inicjowana jest jeszcze jedna zmienna o nazwie „a” dla typu danych „int”. Tutaj używamy pętli „while()” i dodajemy „a <= no” jako warunek. Następnie używamy metody „swap()”. Ta metoda „swap()” pomaga w zamianie danych ciągu, a następnie inicjuje „nie” za pomocą „no -1”. Inicjujemy także „a” za pomocą „a+1”.

Następnie wywołujemy tutaj funkcję „main()”, w której inicjujemy zmienną „myString” danymi ciągu i drukujemy ten ciąg. Następnie wywołujemy funkcję „Rev()”, którą utworzyliśmy w tym kodzie i ustawiamy „myString” jako parametr tej funkcji, która odwraca ciąg, a następnie wyświetla odwrócony ciąg.

Kod 4:

#include
za pomocą przestrzeń nazw st ;
próżnia Obrót silnika ( strunowy & mójString )
{
wew S_len = mójString. długość ( ) ;
wew NIE = S_len - 1 ;
wew A = 0 ;
chwila ( A <= NIE ) {
zamieniać ( mójString [ A ] ,mójString [ NIE ] ) ;
NIE = NIE - 1 ;
A = A + 1 ;
}

}
wew główny ( )
{
ciąg mójString = „Uwielbiam programować” ;
cout << mójString << koniec ;
cout << ' \N Odwrócony ciąg” << koniec ;
Obrót silnika ( mójString ) ;
cout << mójString ;
powrót 0 ;
}

Wyjście:
Tutaj prezentujemy zarówno oryginalny ciąg, jak i odwrócony ciąg, który otrzymaliśmy, wykorzystując pętlę „while()” i metodę „swap()” wewnątrz funkcji, którą stworzyliśmy w naszym kodzie.

Przykład 5:

Importujemy plik nagłówkowy „bits/stdc++.h” zawierający wszystkie definicje funkcji. Dlatego nie musimy importować żadnych innych plików nagłówkowych. Następnie wprowadzamy „przestrzeń nazw std” i wywołujemy tutaj „main()”. Następnie mamy zmienną „data” typu „string” i inicjujemy ją ciągiem znaków, który chcemy odwrócić.

Renderujemy ten oryginalny ciąg znaków przed jego odwróceniem, umieszczając zmienną „data” w „cout”. Poniżej inicjujemy inną zmienną, którą jest „revStr” o tym samym typie danych „string”. Następnie używamy „rbegin()” i „rend()”, które są iteratorami odwrotnymi, które dodajemy w celu odwrócenia ciągu znaków. Odwrócony ciąg znaków jest teraz zapisywany w zmiennej „revStr”, która jest umieszczana w „cout”, aby wydrukować tutaj odwrócony ciąg.

Kod 5:

#włączać
za pomocą przestrzeń nazw st ;
wew główny ( )
{
dane ciągowe = „C++ to najlepszy język programowania” ;
cout << dane << koniec << koniec ;
ciąg revStr = strunowy ( dane. zacznij ( ) , dane. sprawia ( ) ) ;

cout << revStr << koniec ;
powrót 0 ;
}

Wyjście:
Ciąg, który dodaliśmy do kodu, jest tutaj najpierw renderowany. Następnie odwrócony ciąg znaków, który otrzymaliśmy za pomocą iteratorów odwrotnych, jest wyświetlany w następujący sposób:

Wniosek

Koncepcja „odwracania ciągu” w programowaniu C++ została omówiona w tym artykule, w którym zbadaliśmy wiele technik odwracania ciągu. Szczegółowo zbadaliśmy wszystkie metody, które pomagają odwrócić ciąg znaków w C++ i odwrócić ciąg znaków w naszych kodach C++. W tym artykule pokazaliśmy oryginalne i odwrócone ciągi znaków w naszych kodach.