logo

Reversā virkne C

Virknes apgriešana C valodā ir fundamentāla darbība, kas ietver rakstzīmju pārkārtošanu virknē tā, lai pēdējā rakstzīme kļūtu par pirmo, no otrā līdz pēdējā rakstzīme kļūtu par otro utt.

Piemēram,

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

Šajā rakstā mēs apspriedīsim dažādus veidus, kā apgriezt virkni C valodā, izmantojot kodu piemērus.



Dažādi veidi, kā apgriezt virkni C

Ir dažādi veidi, kā apgriezt virkni C. Daži no tiem ir apskatīti tālāk:

  1. Apgrieziet virkni, izmantojot cilpu
  2. Apgriezt virkni, izmantojot rekursiju
  3. Apgrieziet virkni, izmantojot rādītāju C
  4. Apgrieziet virkni, izmantojot bibliotēkas funkciju

1. Apgrieziet virkni, izmantojot cilpu

Izmantojot šo metodi,

  • Mēs izmantojam for cilpu ar diviem mainīgajiem i un j, kas norāda attiecīgi uz virknes sākumu un beigām.
  • Mēs aizstājam rakstzīmes indeksos i un j un pārvietojamies attiecīgi uz blakus esošo labo un kreiso pusi, t.i., palielinot i un samazinot j.
  • Mēs turpinām to darīt, līdz i ir lielāks vai vienāds ar j.

Rezultātā mēs iegūstam apgrieztu virkni.

Īstenošana

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;> }>

>

>

Izvade

java virknes formāts garš
Original String: string Reversed String: gnirts>

2. Apgriezt virkni, izmantojot rekursiju

Šai metodei mēs izmantosim rekursiju, lai apmainītu rakstzīmes.

Īstenošana

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; }>

>

>

panda kūst
Izvade

Original String: string Reversed String: gnirts>

3. Apgrieziet virkni, izmantojot rādītāju C

Šeit mēs izmantosim divus rādītājus, viens ir sākuma rādītājs un otrs ir beigu rādītājs. un, nomainot rakstzīmi, mēs turpināsim sasniegt, apgrieziet rakstzīmes līdzīgi tam, ko mēs darījām pirmajā metodē.

Īstenošana

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; }>

>

>

Izvade

Original String: string Reversed String: gnirts>

4. Apgrieziet virkni, izmantojot bibliotēkas funkciju

Programmā C mums ir definēta bibliotēkas funkcija, ko var izmantot, lai apgrieztu virkni. Funkcija strrev () nodrošina vienkāršāko metodi virknes apvēršanai.

Sintakse

char* strrev(char* str);>

kur str ir apgrieztā virkne.

Piezīme: Funkcija strrev () nav standarta C valodas daļa, tāpēc tā var nebūt pieejama katrā kompilatorā.

Īstenošana

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;> }>

>

>

ko Ravel dara python

Izvade

Original String: string Reversed String: gnirts>