logo

Obrátený reťazec v C

Obrátenie reťazca v C je základná operácia, ktorá zahŕňa preusporiadanie znakov v reťazci tak, aby sa posledný znak stal prvým, predposledný znak druhým atď.

Napríklad,

Original String: 'string'  Reversed String: 'gnirts'>

V tomto článku budeme diskutovať o rôznych spôsoboch zvrátenia reťazca v C s príkladmi kódu.



Rôzne spôsoby, ako obrátiť reťazec v C

Existujú rôzne spôsoby, ako obrátiť reťazec v C. Niektoré z nich sú popísané nižšie:

  1. Obráťte reťazec pomocou slučky
  2. Obráťte reťazec pomocou rekurzie
  3. Obráťte reťazec pomocou ukazovateľa v C
  4. Obráťte reťazec pomocou funkcie knižnice

1. Obráťte reťazec pomocou slučky

Pri tejto metóde

  • Používame cyklus for s dvoma premennými i a j, ktoré ukazujú na začiatok a koniec reťazca.
  • Nahradíme znaky na indexoch i a j a posunieme sa k susednej vpravo a vľavo, t. j. zvyšujeme i a znižujeme j.
  • Robíme to dovtedy, kým i nebude väčšie alebo rovné j.

Ako výsledok dostaneme obrátený reťazec.

Implementácia

C




// C program to reverse the string in C using loops> #include> #include> int> main()> {> >// string to be reversed.> >char> str[100] =>'string'>;> >printf>(>'Original String: %s '>, str);> >// string length> >int> len =>strlen>(str);> >// for loop> >for> (>int> i = 0, j = len - 1; i <= j; i++, j--) {> >// swapping characters> >char> c = str[i];> >str[i] = str[j];> >str[j] = c;> >}> >printf>(>'Reversed String: %s'>, str);> >return> 0;> }>

>

>

Výkon

previesť boolean na reťazec
Original String: string Reversed String: gnirts>

2. Obráťte reťazec pomocou rekurzie

Pri tejto metóde použijeme rekurziu na výmenu znakov.

Implementácia

C




// C program to reverse string using recursion> #include> #include> // recursive function to reverse string> void> reverse(>char>* str,>int> len,>int> i,>int> temp)> {> >// if current index is less than the remaining length of> >// string> >if> (i temp = str[i]; str[i] = str[len - 1]; str[len - 1] = temp; i++; len--; reverse(str, len, i, temp); } } // driver code int main() { char str[100] = 'string'; printf('Original String: %s ', str); int len = strlen(str); reverse(str, len, 0, 0); printf('Reversed String: %s', str); return 0; }>

>

>

pyspark sql
Výkon

Original String: string Reversed String: gnirts>

3. Obráťte reťazec pomocou ukazovateľa v C

Použijeme tu dva ukazovatele, jeden je počiatočný ukazovateľ a druhý je koncový ukazovateľ. a výmenou znaku, ku ktorému pristúpime, obrátime znaky podobne, ako sme urobili v prvej metóde.

Implementácia

C




// C program to reverse a string using pointers> #include> #include> // function to reverse the string> void> stringReverse(>char>* str)> {> >int> len =>strlen>(str);> >// pointers to start and end> >char>* start = str;> >char>* end = str + len - 1;> >while> (start char temp = *start; *start = *end; *end = temp; start++; end--; } } // driver code int main() { char str[] = 'string'; printf('Original String: %s ', str); // calling function stringReverse(str); printf('Reversed String: %s', str); return 0; }>

>

>

Výkon

Original String: string Reversed String: gnirts>

4. Obráťte reťazec pomocou funkcie knižnice

V C máme vo vnútri definovanú knižničnú funkciu, ktorú možno použiť na zvrátenie reťazca. Funkcia strrev() poskytuje najjednoduchšiu metódu na zvrátenie reťazca.

Syntax

char* strrev(char* str);>

kde str je reťazec, ktorý sa má obrátiť.

Poznámka: Funkcia strrev() nie je súčasťou štandardného jazyka C, takže nemusí byť prítomná v každom kompilátore.

Implementácia

C




// C program to reverse a string using strrev()> #include> #include> int> main()> {> >char> str[] =>'string'>;> >printf>(>'Original String: %s '>, str);> >// reversing string> >printf>(>'Reversed String: %s'>, strrev(str));> >return> 0;> }>

>

>

iphone emojis v systéme Android

Výkon

Original String: string Reversed String: gnirts>